autojs


Crypto - 加解密与消息摘要

<p>[TOC]</p> <h1>Crypto</h1> <p><strong> [<a href="https://pro.autojs.org/">Pro 8.0.0新增</a>] </strong></p> <p>$crypto模块提供了对称加密(例如AES)、非对称加密(例如RSA)、消息摘要(例如MD5, SHA)等支持。</p> <h2>$crypto.digest(message, algorithm[, options])</h2> <ul> <li><code>message</code> {any}</li> <li><code>algorithm</code> {string} 消息摘要算法,包括: <ul> <li>MD5</li> <li>SHA-1</li> <li>SHA-256</li> <li>SHA-384</li> <li>SHA-512</li> </ul></li> <li><code>options</code> {any}</li> </ul> <p>对信息message使用消息摘要算法<code>algorithm</code>进行摘要并返回结果,默认的输出格式为hex。</p> <p>参数message的类型默认为字符串,返回值默认为hex;可以通过options来指定参数message的类型和返回值的类型、格式,比如文件、base64、字节数组、hex等。参见《输入和输出的类型和格式》。</p> <pre><code class="language-javascript">// 计算字符串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" }));</code></pre> <h2>$crypto.encrypt(data, key, algorithm, options)</h2> <ul> <li><code>data</code> {any} 明文消息</li> <li><code>key</code> {Key} 密钥</li> <li> <p><code>algorithm</code> {string} 加密算法,包括:</p> <ul> <li>AES</li> <li>AES/ECB/NoPadding</li> <li>AES/ECB/PKCS5Padding</li> <li>AES/CBC/NoPadding</li> <li>AES/CBC/PKCS5Padding</li> <li>AES/CFB/NoPadding</li> <li>AES/CFB/PKCS5Padding</li> <li>AES/CTR/NoPadding</li> <li>AES/CTR/PKCS5Padding</li> <li>AES/OFB/PKCS5Padding</li> <li>AES/OFB/PKCS5Padding</li> <li>RSA/ECB/PKCS1Padding</li> <li>RSA/ECB/NoPadding</li> <li>... 具体可参阅 <a href="https://developer.android.com/reference/javax/crypto/Cipher">javax.crypto.Cipher</a></li> </ul> </li> <li><code>options</code> {Object} 加密选项</li> </ul> <h2>输入和输出的类型和格式</h2>

页面列表

ITEM_HTML