程序员的资源宝库

网站首页 > gitee 正文

[笔记] javascript RSA 加密,解密,签名,验签

sanyeah 2024-03-29 17:54:11 gitee 6 ℃ 0 评论

使用的库:
travist/jsencrypt: A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.
brix/crypto-js: JavaScript library of crypto standards.

测试地址:
Online RSA Key Generator

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

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

    <script src="./jsencrypt.min.js"></script> 
    <script src="./crypto-js.js"></script> 

加密与解密

// 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


原文链接:https://www.cnblogs.com/jasongrass/p/12872023.html

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表