使用網頁前端JavaScript使用RSA對長字串進行加密及測試解密,1024位可對長字串進行

wuzihan1101發表於2020-12-25

@[TOC]## 使用網頁前端JavaScript使用RSA對長字串進行加密及測試解密,1024位可對長字串進行

自己在專案親測OK,可以對長字元加密解密,大家生成公鑰私鑰的時候一定要選擇1024位的,祝大家攻城順利!

  1. 首先在bejson網站上生成公鑰和祕鑰,需要注意的是要選擇1024位,2048位無法解密成功。 例如:
    let PUBLIC_KEY = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKX1Fs2JUD25zrAEwPnjnZC0az rl1XjGzGrJ64eb1lr9QVVOO2zGKZdqDLZD4Ut4Mp6GHMaqqFXKm+zN7IAXu+mqZb UrqUziHE5YGC02wObiZEzfa6V9a8ZvqpB+Z8KO+hAkkjzjMl+E+hDORpZmez3SMz etn7mcCeLw8/vmxz3QIDAQAB

let PRIVATE_KEY = MIICXgIBAAKBgQDKX1Fs2JUD25zrAEwPnjnZC0azrl1XjGzGrJ64eb1lr9QVVOO2 zGKZdqDLZD4Ut4Mp6GHMaqqFXKm+zN7IAXu+mqZbUrqUziHE5YGC02wObiZEzfa6 V9a8ZvqpB+Z8KO+hAkkjzjMl+E+hDORpZmez3SMzetn7mcCeLw8/vmxz3QIDAQAB AoGBAJBr6b4V6nJwXdHPyngy4PGl/HTqcK60BkTamALqzmEtU9tNU5z2yz7dy+6a wTsjo7Vao8CwNrUp5fHGXw65EEc1/3Iu2Fiix0XF7RP4NFSoxbBmzQW1nUK/5DFi 4VR1uhEmdbgLwGabsdqzeUqhRKkRGAPVCotBjaDBOu0J3Mu5AkEA+SM7Ctu7evOv ZwjWrp9a5MGxJ9yLLabbIuWL+420jr2G6ojaTZ2ROA2DWWQPx4JqWxDHttomrb38 dk2emP2WAwJBAM/yU58YRQ+dTeuTzNYC1JdWcs35n9+hoVP7y+x29CmcqDTPp3nR Bbbq88yMb2nZdlwthWi7BurNHsRJFqj0GJ8CQF5gJCuW1UxcJ2PGi1yW7R2e6fcJ qoden8B2aDKgmXdBAGyz7s5cE/jB1bH1H60aECPzFVSFCwXh5FMEUEHwPfUCQQC7 JqZ57lbhebrSRcA58GwzFFvY40wu8gIHWvwqgti2xsZgWW+qZCPXf9gSBWaUhmJP Da0fGAxesGN7VyhswNuTAkEAzCFNqL/zwHXcwh9YyHTdk/bRWIJq49jTA+vbgGv0 szKIvGRKoRbub3NEUiI80TDsCAvbJ6R80J7RjnpmShOwcA==
2. 引入rsa外掛,可點選連結下載。(五個積分,每次下載資源都要積分,搞的現在沒有積分了,很多地方都要50積分)
3. 根據獲得的公鑰進行加密。
var encrypt = new JSEncrypt();
encrypt.setPublicKey("-----BEGIN PUBLIC KEY-----"+PUBLIC_KEY+"-----END PUBLIC KEY-----");
var encrypted = encrypt.encryptLong(“results”);
console.log(‘加密前資料:%o’, Results);
console.log(‘加密後資料:%o’, encrypted);

4使用私鑰進行解密測試。
//使用私鑰解密
var decrypt = new JSEncrypt();
decrypt.setPrivateKey("-----BEGIN RSA PRIVATE KEY-----"+PRIVATE_KEY+"-----END RSA PRIVATE KEY-----");
let uncrypted = decrypt.decryptLong(encrypted);
console.log(‘解密後資料:%o’, uncrypted);*/

相關文章