如何在 vanilla JS 中加密字符串?
How to encrypt a string in vanilla JS?
我希望能够使用像 AES 这样的块密码来加密和解密字符串。
var jsn = JSON.stringify(Json);
var encrypted = AesEncrypt(jsn, pass);
saveStringToFile(encrypted, fnm);
我想在 vanilla JavaScript 中执行此操作,并且不使用第 3 方库或使用 MIT 许可等许可的第 3 方库。例如,google 的 CryptoJS 不是免费用于商业用途,而 jakubzapletal/crypto-js 是在 MIT 许可下获得许可,但基于 google 的 CryptoJS,因此不能用于我也是。
假设您是 运行 Web 浏览器中的代码,您可以使用 Web Cryptography API:
const te = new TextEncoder();
window.crypto.subtle.encrypt(
{
name: "AES-GCM", // CTR and CBC modes are also available.
iv // The initialization vector.
},
key, // The CryptoKey. You can get one with window.crypto.subtle.importKey().
te.encode("Hello, World!"); // The data to encrypt
);
我希望能够使用像 AES 这样的块密码来加密和解密字符串。
var jsn = JSON.stringify(Json);
var encrypted = AesEncrypt(jsn, pass);
saveStringToFile(encrypted, fnm);
我想在 vanilla JavaScript 中执行此操作,并且不使用第 3 方库或使用 MIT 许可等许可的第 3 方库。例如,google 的 CryptoJS 不是免费用于商业用途,而 jakubzapletal/crypto-js 是在 MIT 许可下获得许可,但基于 google 的 CryptoJS,因此不能用于我也是。
假设您是 运行 Web 浏览器中的代码,您可以使用 Web Cryptography API:
const te = new TextEncoder();
window.crypto.subtle.encrypt(
{
name: "AES-GCM", // CTR and CBC modes are also available.
iv // The initialization vector.
},
key, // The CryptoKey. You can get one with window.crypto.subtle.importKey().
te.encode("Hello, World!"); // The data to encrypt
);