如果是在 HTML 中使用,引用的库:

// 具体地址,需要另行处理

加密与解密

// Encrypt with the public key...

var encrypt = new JSEncrypt();

encrypt.setPublicKey($('#pubkey').val());

var encrypted = encrypt.encrypt($('#input').val());

// Decrypt with the private key...

var decrypt = new JSEncrypt();

decrypt.setPrivateKey($('#privkey').val());

var uncrypted = decrypt.decrypt(encrypted);

签名与验签

这里的 hash 算法是 SHA256

// Sign with the private key...

var sign = new JSEncrypt();

sign.setPrivateKey($('#privkey').val());

var signature = sign.sign($('#input').val(), CryptoJS.SHA256, "sha256");

// Verify with the public key...

var verify = new JSEncrypt();

verify.setPublicKey($('#pubkey').val());

var verified = verify.verify($('#input').val(), signature, CryptoJS.SHA256);

END

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐