用JS任意控制手机上的APP


Crypto#

[Pro 8.0.0新增]

$crypto模块提供了对称加密(例如AES)、非对称加密(例如RSA)、消息摘要(例如MD5, SHA)等支持。

$crypto.digest(message, algorithm[, options])#

  • message <any>
  • algorithm <string> 消息摘要算法,包括:
    • MD5
    • SHA-1
    • SHA-256
    • SHA-384
    • SHA-512
  • options <any>

对信息message使用消息摘要算法algorithm进行摘要并返回结果,默认的输出格式为hex。

参数message的类型默认为字符串,返回值默认为hex;可以通过options来指定参数message的类型和返回值的类型、格式,比如文件、base64、字节数组、hex等。参见《输入和输出的类型和格式》。

// 计算字符串abc的md5
toastLog($crypto.digest("abc", "MD5"));
// 计算字符串abc的sha-256
toastLog($crypto.digest("abc", "SHA-256"));
// 计算文件/sdcard/1.txt的md5
toastLog($crypto.digest("/sdcard/1.txt", "MD5", {
    input: "file"
}));

$crypto.encrypt(data, key, algorithm, options)#

  • data <any> 明文消息
  • key <Key> 密钥
  • algorithm <string> 加密算法,包括:

    • AES
    • AES/ECB/NoPadding
    • AES/ECB/PKCS5Padding
    • AES/CBC/NoPadding
    • AES/CBC/PKCS5Padding
    • AES/CFB/NoPadding
    • AES/CFB/PKCS5Padding
    • AES/CTR/NoPadding
    • AES/CTR/PKCS5Padding
    • AES/OFB/PKCS5Padding
    • AES/OFB/PKCS5Padding
    • RSA/ECB/PKCS1Padding
    • RSA/ECB/NoPadding
    • ... 具体可参阅 javax.crypto.Cipher
  • options <Object> 加密选项

输入和输出的类型和格式#