国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

node.js之基礎加密算法模塊crypto詳解

2024-05-06 15:30:14
字體:
來源:轉載
供稿:網友

crypto作為nodeJS已經穩定下來的模塊在整個node中具有舉足輕重的地位,一切app都需要加密解密,那么crypto就是一個提供加密功能的模塊。在這個模塊中已經打包了OpenSSL hash, HMAC(哈希信息驗證碼),cipher(加密),decipher(解密),sign(簽名)以及verify(驗證)的功能。

加密算法crypto

我很難想象在php里面md5加密只是三個字符的一個方法而已,在node.js中沒封裝前竟然那么長!!

無法反編譯的加密方式

話不多說直接上代碼品鑒吧

onst crypto = require('crypto');function l(param) {  console.log(param);}const md5 = crypto.createHash('md5');//創建一個md5 hash算法md5.update('aa');//添加要轉化的值md5.update('cc');//與前面的要轉化的值進行拼接l(md5.digest('hex'));//打印16進制的密文,const sha1 = crypto.createHash('sha1');//創建一個sh1 hash算法sha1.update('bbbb');l(sha1.digest('hex'));const hmac = crypto.createHmac('md5', 'key');//創建一個帶秘鑰的sha1或者md5算法hmac.update('aacc');l(hmac.digest('hex'));

最后的輸出為

aa794f68b4f6ae5e590e9ed34e94d639
8aed1322e5450badb078e1fb60a817a1df25a2ca
b03d8471e2c5f212289c3e2dcb95bd47

真真的輸出了一堆16進制的字符但是簡單生成個密文看來是很麻煩了。

一般用于密碼的存儲和登錄注冊之類的業務

可以反編譯的加密算法

//AES 對稱加密算法的一種。//創建加密算法function aesEncode(data, key) {  const cipher = crypto.createCipher('aes192', key);  var crypted = cipher.update(data, 'utf8', 'hex');  crypted += cipher.final('hex');  return crypted;}//創建解密算法function aesDecode(encrypted, key) {  const decipher = crypto.createDecipher('aes192', key);  var decrypted = decipher.update(encrypted, 'hex', 'utf8');  decrypted += decipher.final('utf8');  return decrypted;}var data = '我是一個大傻瓜';var key = 'keykey';l(aesEncode(data, key));l(data);l(aesDecode(aesEncode(data, key), key));

最終輸出

3094e920cf4208e9cf1b209d4be9a2f018541c70db89b4e4fdcf3bda12d3abc7
我是一個大傻瓜
我是一個大傻瓜

這個的話感覺可以用于一般的密文通信。

DH協商秘鑰算法

在http下真叫別人抓包了,所有的信息就泄露了,就算是你用密文通信,開始需要個key來解碼呀,這個key不可能用意念傳輸還是需要來通過網絡傳輸才行,所以還是又被黑的可能性,于是乎就產生了一個神奇的秘鑰算法,兩臺機器之間只需要傳遞幾個值便可以相互知道最終的秘鑰,而就算是這些傳遞的值被抓走了,也無法破譯最終秘鑰因為關鍵的幾個值只存儲于終端上不在傳輸流通。

好了上代碼

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 清丰县| 安多县| 黎川县| 门头沟区| 蒲城县| 洞头县| 姜堰市| 读书| 寿宁县| 河池市| 江山市| 荃湾区| 亳州市| 临漳县| 正宁县| 扶余县| 铜山县| 池州市| 阿鲁科尔沁旗| 临安市| 民县| 南召县| 灵丘县| 庆阳市| 阜阳市| 乌苏市| 潞城市| 新野县| 遂溪县| 林周县| 泽库县| 嘉定区| 福建省| 商水县| 湘阴县| 西峡县| 康马县| 杨浦区| 四川省| 五大连池市| 靖远县|