最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端利用jsencrypt.js進(jìn)行RSA加密示例詳解

 更新時(shí)間:2023年08月22日 15:15:11   作者:無is  
這篇文章主要為大家介紹了前端利用jsencrypt.js進(jìn)行RSA加密示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

最近有用到j(luò)sencrypt來對(duì)登錄密碼進(jìn)行rsa加密處理,記錄下來,供自己以后查閱。

什么是RSA加密

RSA加密算法是一種非對(duì)稱加密算法,RSA加密使用了"一對(duì)"密鑰.分別是公鑰和私鑰,這個(gè)公鑰和私鑰其實(shí)就是一組數(shù)字!其二進(jìn)制位長(zhǎng)度可以是1024位或者2048位.長(zhǎng)度越長(zhǎng)其加密強(qiáng)度越大,目前為止公之于眾的能破解的最大長(zhǎng)度為768位密鑰,只要高于768位,相對(duì)就比較安全.所以目前為止,這種加密算法一直被廣泛使用.

RSA加密與解密

  • 使用公鑰加密的數(shù)據(jù),利用私鑰進(jìn)行解密
  • 使用私鑰加密的數(shù)據(jù),利用公鑰進(jìn)行解密

RSA秘鑰生成方式

Mac系統(tǒng)內(nèi)置OpenSSL(開源加密庫),所以可以直接在終端上使用命令。

Windows系統(tǒng)可以使用git命令行工具

  • 單擊鼠標(biāo)右鍵——git bash here 調(diào)出git bash
  • 生成私鑰,密鑰長(zhǎng)度為1024bit
    $ openssl genrsa -out private.pem 1024
    Generating RSA private key, 1024 bit long modulus (2 primes)
    ...+++++
    .............................+++++
    e is 65537 (0x010001)
  • 從私鑰中提取公鑰
  $ openssl rsa -in private.pem -pubout -out public.pem
  writing RSA key
  • 這樣就生成了private.pem 和 public.pem兩個(gè)文件,可以利用終端進(jìn)行查看
$ cat private.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDNNorgFngK1zjHOnQlIUh5NjOxZIiEPZ8Knu6B/IyY0LBRToo1
TZC7/nK6j8on/2sBdv5nFuTwlOpW9UL8C4yZJdjTwYXn5X+wZZsz1RXNI5zjhSXu
GeYzF7WhxusKo6zrR6b0IMNg2W016PWU3UkjOXxoaIGkMN77oIorPP5bHQIDAQAB
AoGABOdOvjgLOkcWRjxxVgnLj4nqBk0erfpC+J//lv+P5H7oF6lGyCtIUBWubCLP
c9E4n1pWjeQQKGeGiflmVlt4So2UPQJD/fvpmT0lswaud+ObbUtFIo4CApHMXdTB
jIC/nDSdFut2Yd32N8OH/QYnzAS1tarLGjk3x+Dg5nY3VEECQQDvM7GLXT2df85I
X+FBX9YiwUPXqciUJp3XdBOngsyENOFu0C3/cBTxvaiKkMXVPqMjOdoCAY+hz/k1
xPUVBpZ5AkEA25/Objru9LI1XSj8M1gJoIUpiR+mJysN7Q7wWbSK6DI+Hz95NQ5r
kAzG89lwMW3dLycH8VPGsWMuxjA7NG0QxQJBAIxDxdKxJFZdAXuTLaWGKy1KIxwt
pT6qvlf+6x+JJaBI2gB+9toYwU9YJaLLbhazmjonzFzsyWrbZ4lOK2De8hECQQCl
uJRgAQBGjCJQRZjodUnuYgzRd5w8efRsKJWcWutmAmN12MNxEYyAieOmJTDPW4NH
DUClDP4k5B5rVgGWsaWxAkA4m0bHwiPqO4/Yz6eyl2jYvljtmqr7KZFXrlsBUrIm
XXaTuMdsOmLlp/u078XFw0N+RaUWxbE6ATH7mTGjB2nV
-----END RSA PRIVATE KEY-----
$ cat public.pem
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNNorgFngK1zjHOnQlIUh5NjOx
ZIiEPZ8Knu6B/IyY0LBRToo1TZC7/nK6j8on/2sBdv5nFuTwlOpW9UL8C4yZJdjT
wYXn5X+wZZsz1RXNI5zjhSXuGeYzF7WhxusKo6zrR6b0IMNg2W016PWU3UkjOXxo
aIGkMN77oIorPP5bHQIDAQAB
-----END PUBLIC KEY-----

利用工具網(wǎng)站在線生成秘鑰

工具網(wǎng)站

jsencrypt介紹

jsencrypt就是一個(gè)基于rsa加解密的js庫

使用方法

  • 安裝
  npm install jsencrypt 
  • 引入
  import JSEncrypt from 'jsencrypt'
  • rsa加密
  var encryptor = new JSEncrypt()  // 創(chuàng)建加密對(duì)象實(shí)例
  //之前ssl生成的公鑰,復(fù)制的時(shí)候要小心不要有空格
  var pubKey = '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1QQRl0HlrVv6kGqhgonD6A9SU6ZJpnEN+Q0blT/ue6Ndt97WRfxtSAs0QoquTreaDtfC4RRX4o+CU6BTuHLUm+eSvxZS9TzbwoYZq7ObbQAZAY+SYDgAA5PHf1wNN20dGMFFgVS/y0ZWvv1UNa2laEz0I8Vmr5ZlzIn88GkmSiQIDAQAB-----END PUBLIC KEY-----'
  encryptor.setPublicKey(pubKey)//設(shè)置公鑰
  var rsaPassWord = encryptor.encrypt('要加密的內(nèi)容')  // 對(duì)內(nèi)容進(jìn)行加密
  • rsa解密
  var decrypt = new JSEncrypt()//創(chuàng)建解密對(duì)象實(shí)例
  //之前ssl生成的秘鑰
  var priKey  = '-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQC1QQRl0HlrVv6kGqhgonD6A9SU6ZJpnEN+Q0blT/ue6Ndt97WRfxtSAs0QoquTreaDtfC4RRX4o+CU6BTuHLUm+eSvxZS9TzbwoYZq7ObbQAZAY+SYDgAA5PHf1wNN20dGMFFgVS/y0ZWvv1UNa2laEz0I8Vmr5ZlzIn88GkmSiQIDAQABAoGBAKYDKP4AFlXkVlMEP5hS8FtuSrUhwgKNJ5xsDnFV8sc3yKlmKp1a6DETc7N66t/Wdb3JVPPSAy+7GaYJc7IsBRZgVqhrjiYiTO3ZvJv3nwAT5snCoZrDqlFzNhR8zvUiyAfGD1pExBKLZKNH826dpfoKD2fYlBVOjz6i6dTKBvCJAkEA/GtL6q1JgGhGLOUenFveqOHJKUydBAk/3jLZksQqIaVxoB+jRQNOZjeSO9er0fxgI2kh0NnfXEvH+v326WxjBwJBALfTRar040v71GJq1m8eFxADIiPDNh5JD2yb71FtYzH9J5/d8SUHI/CUFoROOhxr3DpagmrnTn28H0088vubKe8CQDKMOhOwx/tS5lqvN0YQj7I6JNKEaR0ZzRRuEmv1pIpAW1S5gTScyOJnVn1tXxcZ9xagQwlT2ArfkhiNKxjrf5kCQAwBSDN5+r4jnCMxRv/Kv0bUbY5YWVhw/QjixiZTNn81QTk3jWAVr0su4KmTUkg44xEMiCfjI0Ui3Ah3SocUAxECQAmHCjy8WPjhJN8y0MXSX05OyPTtysrdFzm1pwZNm/tWnhW7GvYQpvE/iAcNrNNb5k17fCImJLH5gbdvJJmCWRk=-----END RSA PRIVATE KEY----'
  decrypt.setPrivateKey(priKey)//設(shè)置秘鑰
  var uncrypted = decrypt.decrypt(encrypted)//解密之前拿公鑰加密的內(nèi)容

目前的應(yīng)用場(chǎng)景是在用戶注冊(cè)或登錄的時(shí)候,用公鑰對(duì)密碼進(jìn)行加密,再去傳給后臺(tái),后臺(tái)用私鑰對(duì)加密的內(nèi)容進(jìn)行解密,然后進(jìn)行密碼校驗(yàn)或者保存到數(shù)據(jù)庫。

參考文章

以上就是前端利用jsencrypt.js進(jìn)行RSA加密示例詳解的詳細(xì)內(nèi)容,更多關(guān)于前端jsencrypt.js RSA加密的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

青阳县| 久治县| 云龙县| 永修县| 竹北市| 泽州县| 石家庄市| 菏泽市| 盐源县| 彝良县| 襄垣县| 孟村| 定兴县| 和政县| 柘荣县| 涞水县| 长宁县| 鄂尔多斯市| 漳浦县| 衡水市| 南部县| 库伦旗| 江安县| 永年县| 阳谷县| 东宁县| 察雅县| 奉新县| 哈密市| 永吉县| 桃源县| 九龙县| 新闻| 故城县| 虞城县| 清徐县| 木兰县| 宜丰县| 武平县| 梓潼县| 香港|