Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 好男人视频社区精品免费,中文字幕视频一区,www.99热

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          各種各樣加密算法的js庫,安全加密不再愁-crypto-js

          crypto-js是一個前端Javascript標準加密算法庫,CryptoJS (crypto.js) 為 JavaScript 提供了各種各樣的加密算法。有時候項目涉及到的敏感數據比較多,為了信息安全,我們常常需要對一些數據進行接口加密處理,如編碼、將明文轉化為暗文、加密比對,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等






          Github

          https://github.com/brix/crypto-js


          安裝

          使用npm進行安裝

          npm install crypto-js

          使用

          支持nodejs和瀏覽器

          • ES6
          import sha256 from 'crypto-js/sha256';
          import hmacSHA512 from 'crypto-js/hmac-sha512';
          import Base64 from 'crypto-js/enc-base64';
          
          const message, nonce, path, privateKey; // ...
          const hashDigest = sha256(nonce + message);
          const hmacDigest = Base64.stringify(hmacSHA512(path + hashDigest, privateKey));
          • 模塊化
          var AES = require("crypto-js/aes");
          var SHA256 = require("crypto-js/sha256");
          ...
          console.log(SHA256("Message"));
          • 直接引用
          <script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script>
          <script type="text/javascript">
              var encrypted = CryptoJS.AES(...);
              var encrypted = CryptoJS.SHA256(...);
          </script>

          AES加密

          • 明文加密
          var CryptoJS = require("crypto-js");
          
          // Encrypt
          var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();
          
          // Decrypt
          var bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
          var originalText = bytes.toString(CryptoJS.enc.Utf8);
          
          console.log(originalText); // 'my message'
          • 對象加密
          var CryptoJS = require("crypto-js");
          
          var data = [{id: 1}, {id: 2}]
          
          // 加密
          var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();
          
          // 解密
          var bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
          var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
          
          console.log(decryptedData); // [{id: 1}, {id: 2}]

          模塊集合


          • crypto-js/core
          • crypto-js/x64-core
          • crypto-js/lib-typedarrays

          • crypto-js/md5
          • crypto-js/sha1
          • crypto-js/sha256
          • crypto-js/sha224
          • crypto-js/sha512
          • crypto-js/sha384
          • crypto-js/sha3
          • crypto-js/ripemd160

          • crypto-js/hmac-md5
          • crypto-js/hmac-sha1
          • crypto-js/hmac-sha256
          • crypto-js/hmac-sha224
          • crypto-js/hmac-sha512
          • crypto-js/hmac-sha384
          • crypto-js/hmac-sha3
          • crypto-js/hmac-ripemd160

          • crypto-js/pbkdf2

          • crypto-js/aes
          • crypto-js/tripledes
          • crypto-js/rc4
          • crypto-js/rabbit
          • crypto-js/rabbit-legacy
          • crypto-js/evpkdf

          • crypto-js/format-openssl
          • crypto-js/format-hex

          • crypto-js/enc-latin1
          • crypto-js/enc-utf8
          • crypto-js/enc-hex
          • crypto-js/enc-utf16
          • crypto-js/enc-base64

          • crypto-js/mode-cfb
          • crypto-js/mode-ctr
          • crypto-js/mode-ctr-gladman
          • crypto-js/mode-ofb
          • crypto-js/mode-ecb

          • crypto-js/pad-pkcs7
          • crypto-js/pad-ansix923
          • crypto-js/pad-iso10126
          • crypto-js/pad-iso97971
          • crypto-js/pad-zeropadding
          • crypto-js/pad-nopadding



          總結

          有這樣一個齊全的加密算法庫,就很方便很多了,小伙伴們火速收藏吧!

          端常用的數據加密方式主要包括以下幾種:

          1. Base64編碼:雖然Base64編碼不被認為是一種真正的加密方式,但它可以將二進制數據轉換為ASCII字符串,使得數據可以在文本格式中安全地傳輸。Base64編碼常用于在網頁中嵌入圖像或其他二進制資源。
          2. AES(高級加密標準):AES是一種對稱加密算法,它使用相同的密鑰進行加密和解密。AES有多種密鑰長度,包括128位、192位和256位,密鑰長度越長,安全性越高。前端可以使用JavaScript庫(如CryptoJS)來實現AES加密。
          3. RSA:RSA是一種非對稱加密算法,它使用一對密鑰進行加密和解密。公鑰用于加密數據,私鑰用于解密數據。RSA算法的安全性基于大數分解問題的困難性。前端可以使用JavaScript庫(如jsencrypt)來實現RSA加密。
          4. SHA(安全散列算法):SHA是一種密碼散列函數,它將任意長度的數據映射為固定長度的散列值。SHA算法常用于生成數據的數字簽名或驗證數據的完整性。前端可以使用JavaScript內置的函數(如`crypto.subtle.digest`)來實現SHA散列。
          5. HMAC(基于密鑰的散列消息認證碼):HMAC是一種基于密鑰和散列函數的消息認證碼算法,它可以用于驗證消息的完整性和認證消息的來源。HMAC結合了密鑰和散列函數的優點,提高了安全性。前端可以使用JavaScript庫(如CryptoJS)來實現HMAC。

          在實際應用中,前端數據加密通常不是孤立的,而是與后端服務協同工作。前端可以使用上述加密算法對敏感數據進行加密,然后將加密后的數據傳輸給后端進行進一步處理。后端在接收到加密數據后,可以使用相應的解密算法進行解密,并對數據進行處理。

          此外,前端還可以采用其他安全措施來增強數據加密的效果,例如使用HTTPS協議進行數據傳輸,以確保數據在傳輸過程中的安全性。同時,前端開發者還應注意保護密鑰的安全,避免密鑰泄露導致加密失效。

          、老方法:讓文字藏身于文件中

          其實這種方法已經流傳很久了,但效果很好,本法適用于藏身的文件種類較多,像EXE可執行文件、MP3音樂文件都行,最經典的是用圖片文件(BMP或JPG)。它的原理很簡單,就是一個加法合成,將需要加密的文字信息(事先保存在一個TXT文本文件中)追加到BMP圖片文件的后面。首先在D盤中新建一個1.txt文件,里面的內容是待加密的文本信息:接著將一個圖片文件1.bmp也復制到D盤,它是藏身文本信息的“母體”;然后執行“開始”→“運行”菜單命令,輸入“CMD”并確定以打開系統的命令行窗口,輸入“d:”并且回車由系統目錄轉入D盤;輸入一條COPY命令:“copy1.bmp/b+1.txt2.bmp”,回車后系統會提示“已復制1個文件”,這條命令的功能是用圖片文件1.bmp和文本文件1.txt“加”起來生成第三個文件2.bmp。此時已經大功告成,如果直接在“我的電腦”中雙擊打開這個含有文字信息的圖片文件2.bmp的話,系統將會調用本機的看圖程序來打開,所看到的是與原圖(1.bmp)一模一樣的圖片,唯一一的區別就是文件的大小是圖片文件1.bmp和文本文件1.txt的和,而由于文本文件1.txt一般都非常小(kB級而已),所以一般都不會覺察到。

          加密倒是加密了,那么如何還原出1.txt中文本文件的內容呢?很簡單,在新的2.bmp文件上右鍵單擊選擇“打開方式”→“選擇程序”,在彈出的“打開方式”窗口中選擇“記事本”程序后確定,系統會馬上調用記事本來打開這個圖片文件2.bmp。在打開的記事本窗口中前面99%的內容都是亂碼,也就是原圖片文件1.bmp的內容,拖動滾動條到文件的最后,就會看到文本信息的原形。這種方法的優點是不需要第三方軟件,直接使用系統自帶的COPY命令;缺點是誰都可以用修改“打開方式”調用記事本的方法來打開“新”圖片文件,而看到最后面的文字信息。

          二、新招式:讓文字變身為二維碼

          這次不能赤手空拳了,需要使用一個小工具,下載地址是http://www.52z.com/SOFt/12982.html,名字叫QRCode。下載解壓后會得到一個文件PsQREditchs,雙擊后就可以使用了。

          界面以及使用方法都非常簡單,首先單擊選擇下方的第四個選項卡“文本信息”,然后在輸入框中輸入你想要加密的文字信息(軟件支持文字的復制和粘貼),在輸入文字的過程中你會發現上方的空白處會出現一個奇怪的黑白四方圖形,這就是所謂的“二維碼”,而且它會隨著所輸入文字信息的增加而越來越復雜、越來越密。文字信息輸入完成后,單擊選中窗口下方的“加密”選項,并且在前面的“加密密碼”框中輸入設定的密碼。最后單擊上方工具欄的第三個“存盤”按鈕,按照提示選擇保存路徑并且命名,這樣就得到了所輸入文字信息的帶密碼保護的加密信息,這個文件是一個BMP位圖文件。從表面上看什么也看不出來,就是一個黑白花紋矩形塊,可以把它通過電子郵件或QQ傳送給朋友,即便別人中途截獲也絲毫看不出其中所藏的文字信息。朋友接收到這幅“圖片”后,再運行QRCode軟件把它讀取進來,并且要輸入生成圖片時設置的密碼,這樣就會還原出原來的文字信息了。


          主站蜘蛛池模板: 久久AAAA片一区二区| 一区二区三区内射美女毛片| 国产品无码一区二区三区在线| 日本美女一区二区三区| 久久精品国产第一区二区三区| 成人国内精品久久久久一区| 国产精品视频无圣光一区| 国产精品一区在线播放| 无码视频一区二区三区在线观看 | 国产品无码一区二区三区在线| 国产免费一区二区视频| 国产美女口爆吞精一区二区| 日韩精品一区二区三区中文版| 2021国产精品视频一区| 日本亚洲成高清一区二区三区| 一区五十路在线中出| 蜜桃视频一区二区| 波多野结衣在线观看一区| 国产综合精品一区二区| 精品一区二区三区免费毛片 | 国产精品视频一区二区三区无码| 亚洲av午夜精品一区二区三区| 精品一区二区三区在线观看l| 在线观看国产一区二三区| 91精品一区二区综合在线| 亚洲一区二区三区久久久久| 中文字幕一区视频| 九九无码人妻一区二区三区| 色综合视频一区二区三区44| 99精品国产一区二区三区2021| 亚洲综合色一区二区三区| 在线播放精品一区二区啪视频| 在线一区二区观看| 一区二区三区四区在线播放| 久久AAAA片一区二区| 精品一区二区三区无码免费视频| 亚洲AV成人一区二区三区在线看| 人妻视频一区二区三区免费| 国产av一区二区精品久久凹凸| 国产AⅤ精品一区二区三区久久| 97久久精品午夜一区二区|