日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

js aes加密_nodejs中使用Crypto-JS对图片进行加解密

發布時間:2024/1/23 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js aes加密_nodejs中使用Crypto-JS对图片进行加解密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在用nodejs開發后臺的時候,為了安全的需要,經常會有加密的需求,對前端傳入的圖片進行AES加密后存儲,然后在前端調用的時候,對圖片進行解密,并返回Base64編碼格式的圖片。

Crypto-JS這個庫可以實現大多數的加密方式,使用npm install crypto-js 命令進行安裝,但官網給出的文檔卻不夠詳細,用起來存在很多的坑,在用AES方式加密的時候,發現每次加密的結果都不一樣,官網給的例子是這樣的

CryptoJS

但是每次調用的結果卻不一致,我的電腦效果如下:

var

如果直接在內存中進行保存,還能解密出原文

var

CryptoJS使用AES加密與解密后返回的均是一個對象格式,需要轉換成字符串才能明文顯示,解密后需要使用CryptoJS.enc.Utf8.stringify()轉換成utf8編碼的字符串。

但是如果將加密后的結果存放在硬盤中,因為每次加密的結果不一樣,就不能解密出原文件內容了,最開始我的加密程序是這么寫的

var

解密部分:

fs

解密后,發現不能解密原文件,研究了一下AES加密的原理及CryptoJS的文檔,由幾下幾點需要注意

  • AES加密分為AES-128,AES-192,AES-256三種方法;
  • 選用哪種方法取決于密鑰的長度,如果密鑰的長度為128位,則會使用AES-128進行加密;
  • 如果密鑰不符合128,192或256,則會按256處理,缺少的位數自動補全;
  • 基于此,只需要確定密鑰即可,更改后的代碼如下:

    var

    這樣就能成功解密了。

    總結

    以上是生活随笔為你收集整理的js aes加密_nodejs中使用Crypto-JS对图片进行加解密的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。