JavaScript は MD5、AES-CBC 暗号化と復号化を実装します

CryptoJS は、JavaScript で書かれた暗号化および復号化パッケージであり、ハッシュ生成、AES 暗号化および復号化、および複数のエンコード方法をサポートしています。

インストール

npm install crypto-js

ハッシュ

MD5

var CryptoJS = require("crypto-js");
var hash = CryptoJS.MD5("123456");
console.log(hash.toString());
// e10adc3949ba59abbe56e057f20f883e

SHA256

var CryptoJS = require("crypto-js");

var hash = CryptoJS.SHA256("123456");
console.log(hash.toString());
// 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

パスワード

AES-CBC 暗号化と復号化

var CryptoJS = require("crypto-js");

// 加密
plaintText = "123456"

// 十六进制
key = CryptoJS.enc.Hex.parse("1234567890123456")
iv = CryptoJS.enc.Hex.parse("1234567890123456")
var encrypted = CryptoJS.AES.encrypt(plaintText, key, {
    
    
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
// base64
console.log(encrypted.toString());
// cwFSKScoYr73L9Q8RpX7OQ==

// Hex
console.log(encrypted.ciphertext.toString());
// 73015229272862bef72fd43c4695fb39


// 解密
ciphertext = CryptoJS.enc.Hex.parse(encrypted.ciphertext.toString())
ciphertext = CryptoJS.enc.Base64.stringify(ciphertext)
var decrypted = CryptoJS.AES.decrypt(ciphertext, key, {
    
    
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
})
console.log(decrypted.toString(CryptoJS.enc.Utf8).toString())
// 123456


参考

https://github.com/brix/crypto-js
https://cryptojs.gitbook.io/docs/

おすすめ

転載: blog.csdn.net/lilongsy/article/details/131710291