$crypt - 加密算法

  • 更新时间:2025-12-13 11:58:44

加密算法

fromBase64(data)

base64解码

  • 参数 : data {string} base64编码的字符串

  • 返回 : {string} 解码后的字符串

  • 版本 : 1.0.0

toBase64(data)

base64编码

  • 参数 : data {byte[]} 要编码的字节

  • 返回 : {string} 编码后的字符串

  • 版本 : 1.0.0

toBase64(data)

base64编码

  • 参数 : data {string} 要编码的字符串

  • 返回 : {string} 编码后的字符串

  • 版本 : 1.0.0

toBase64(data, encoding)

base64编码

  • 参数 : data {string} 要编码的字符串

  • 参数 : encoding {string} 编码格式

  • 返回 : {string} 编码后的字符串

  • 版本 : 1.0.0

aesKey()

生成一个AES加密的key

  • 返回 : {string} key

  • 版本 : 1.0.0

aesJiami(data, key)

AES加密字符串

  • 参数 : data {string} 要加密的字符串

  • 参数 : key {string} aes的密钥

  • 返回 : {string} 加密后的字符串

  • 版本 : 1.0.0

aesJiemi(data, key)

AES解密字符串

  • 参数 : data {string} 要解密的字符串

  • 参数 : key {string} aes的密钥

  • 返回 : {string} 解密后的字符串

  • 版本 : 1.0.0

md5Key(size)

生成一个MD5加密的salt(盐值)

  • 参数 : size {int} 长度

  • 返回 : {byte[]} salt

  • 版本 : 1.0.0

md516(salt, data)

md5加密

  • 参数 : salt {byte[]} 盐值

  • 参数 : data {string} 数据

  • 返回 : 16位的MD5值

  • 版本 : 1.0.0

md532(salt, data)

md5加密

  • 参数 : salt {byte[]} 盐值

  • 参数 : data {string} 数据

  • 返回 : 32位的MD5值

  • 版本 : 1.0.0

digest(message, algorithm, options)

摘要

  • 参数 : message {File|String|byte[]} 消息

  • 参数 : algorithm {string} 算法

  • 参数 : options {object} 选项

  • 返回 : 摘要

  • 版本 : 1.0.0

//MD5加密
let result = $crypt.digest("我是你爸爸","md5",{
    input:"string",
    output:"hex"
});
log(result);

md5(message, options)

摘要

  • 参数 : message {File|String|byte[]} 消息

  • 参数 : options {object} 选项

  • 返回 : 摘要

  • 版本 : 1.0.0

//MD5加密
let result = $crypt.md5("我是加密的内容",{
    input:"string",
    output:"hex"
});
log(result);//a4f2086496066b767f9667d4737047b7

sign(data, key, algorithm, options)

签名

  • 参数 : data {File|String|byte[]} 签名的输入数据

  • 参数 : key {CryptKey} 签名的密钥

  • 参数 : algorithm {string} 签名的算法

  • 参数 : options {object} 签名的选项

  • 返回 : {object} 签名结果

  • 版本 : 1.0.0

//生成密钥对
let keyPair = $crypt.generateKeyPair("DSA", 1024);
log(keyPair)
log("签名:"); //数字签名只能用私钥进行签名
let signData = $crypt.sign("我是被签名的内容", keyPair.privateKey, "DSA", {
    input: "string",
    output: "byte"
});
log("验证:"); //数字签名只能用公钥进行验证
let verified = $crypt.verify("我是被签名的内容",signData, keyPair.publicKey, "DSA", {
    //输入文本的类型
    input: "string",
    output: "byte"
},{
    //输入签名的类型
    input: "byte",
});
log("验证结果:", verified);

verify(msg_data, msg_sign, key, algorithm, optionsObj_data, optionsObj_sign)

验证

  • 参数 : msg_data {object} 签名数据

  • 参数 : msg_sign {object} 签名结果

  • 参数 : key {CryptKey} 密钥

  • 参数 : algorithm {string} 算法

  • 参数 : optionsObj_data {object} 验证选项

  • 参数 : optionsObj_sign {object}签名选项

  • 返回 : 验证结果

  • 版本 : 1.0.0

digests()

获得所有摘要算法的名称

  • 返回 : {string[]} 摘要算法的名称

  • 版本 : 1.0.0

//获得所有哈希算法的名称
let digests = $crypt.digests();
//每个算法都用一遍
for (let i = 0; i < digests.size(); i ++) {
    let result = $crypt.digest("我是加密的内容", digests.get(i), {
        input: "string",
        output: "hex"
    });
    log(result);
}

digestFile(path, algorithm, options)

摘要文件

  • 参数 : path {string} 文件路径

  • 参数 : algorithm {string} 算法

  • 参数 : options {object} 选项

  • 返回 : {string|byte[]} 摘要

  • 版本 : 1.0.0

jiami(data, key, algorithm, options)

加密

  • 参数 : data {object} 数据

  • 参数 : key {object} 密钥

  • 参数 : algorithm {string} 算法

  • 参数 : options {object} 选项

  • 返回 : {string|byte[]} 加密结果

  • 版本 : 1.0.0

//对称加密算法
//准备一个长度为16的密钥
let key = "ACSDFGHJUYDLOPSD";
let text = "我是被加密的明文";
log("AES加密");
let result = $crypt.jiami(text,key,"AES",{
input:"string",
output:"base64"
});
log("加密后:",result)
result = $crypt.jiemi(result,key,"AES",{
input:"base64",
output:"string"
});
log("解密后:",result)

jiami(data, key, algorithm)

加密

  • 参数 : data {object} 数据

  • 参数 : key {object} 密钥

  • 参数 : algorithm {string} 算法

  • 返回 : {string|byte[]} 加密结果

  • 版本 : 1.0.0

jiemi(data, key, algorithm, options)

解密

  • 参数 : data {object} 数据

  • 参数 : key {object} 密钥

  • 参数 : algorithm {string} 算法

  • 参数 : options {object} 选项

  • 返回 : {string|byte[]} 解密结果

  • 版本 : 1.0.0

jiemi(data, key, algorithm)

解密

  • 参数 : data {object} 数据

  • 参数 : key {object} 密钥

  • 参数 : algorithm {string} 算法

  • 返回 : {string|byte[]} 解密结果

  • 版本 : 1.0.0

key(data)

构建密钥对象

  • 参数 : data {string|byte[]} 密钥数据

  • 返回 : {CryptKey} 密钥

  • 版本 : 1.0.0

key(data)

生成密钥

  • 参数 : data {String} 密钥数据

  • 返回 : {CryptKey} 密钥

  • 版本 : 1.0.0

key(data)

生成密钥

  • 参数 : data {byte[]} 密钥数据

  • 返回 : {CryptKey} 密钥

  • 版本 : 1.0.0

keyPair(publicKey, privateKey)

构造密钥对

  • 参数 : publicKey {byte[] | base64} 公钥

  • 参数 : privateKey {byte[] | base64} 私钥

  • 返回 : {CryptKeyPair} 密钥对

  • 版本 : 1.0.0

keyPair(publicKey, privateKey)

从字节数组当中构造一个keyPair

  • 参数 : publicKey {byte[] | base64} 公钥

  • 参数 : privateKey {byte[] | base64} 私钥

  • 返回 : 密钥对

  • 版本 : 1.0.0

generateKeyPair(algorithm)

生成密钥对

  • 参数 : algorithm {string} 算法

  • 返回 : {CryptKeyPair} 密钥对

  • 版本 : 1.0.0

generateKeyPair(algorithm, length)

生成密钥对

  • 参数 : algorithm {string} 算法

  • 参数 : length {int} 长度

  • 返回 : {CryptKeyPair} 密钥对

  • 版本 : 1.0.0