『壹』 小程序RSA加密、解密、加簽、驗簽
npm install wxapp_rsa
var RSA = require('/wxapp_rsa.js')
// RSA加簽
var sign_rsa = new RSA.RSAKey();
//privateKey_pkcs1需要是-----BEGIN PRIVATE KEY-----開頭的私鑰
sign_rsa = RSA.KEYUTIL.getKey(privateKey_pkcs1);
console.log('簽名RSA:')
console.log(sign_rsa)
var hashAlg = 'MD5withRSA';
var hSig = sign_rsa.signString("12345678901234567890", hashAlg);
hSig = RSA.hex2b64(hSig); // hex 轉 b64
console.log("簽名結果:" + hSig)
// RSA 驗簽
var verify_rsa = new RSA.RSAKey();
verify_rsa = RSA.KEYUTIL.getKey(publicKey_pkcs1);
console.log('驗簽RSA:')
console.log(verify_rsa)
hSig = RSA.b64tohex(hSig)
var ver = verify_rsa.verifyString("12345678901234567890", hSig)
console.log('驗簽結果:' + ver)
// RSA加密 【加密欄位長度不大於117】
var encrypt_rsa = new RSA.RSAKey();
encrypt_rsa = RSA.KEYUTIL.getKey(rsa_public_key);
console.log('加密RSA:')
console.log(encrypt_rsa)
var encStr = encrypt_rsa.encrypt('1234567890')
console.log(encStr)
encStr = RSA.hex2b64(encStr);
console.log("加密結果:" + encStr)
// RSA 解密
var decrypt_rsa = new RSA.RSAKey();
decrypt_rsa = RSA.KEYUTIL.getKey(rsa_public_key_private);
console.log('解密RSA:')
console.log(decrypt_rsa)
encStr = RSA.b64tohex(encStr)
var decStr = decrypt_rsa.decrypt(encStr)
console.log("解密結果:" + decStr)
『貳』 什麼是SSL加密,什麼是TLS加密
SSL加密是Netscape公司所提出的安全保密協議,在瀏覽器和Web伺服器之間構造安全通道來進行數據傳輸,SSL運行在TCP/IP層之上、應用層之下,為應用程序提供加密數據通道,它採用了RC4、MD5以及RSA等加密演算法,使用40 位的密鑰,適用於商業信息的加密。
TLS是安全傳輸層協議。安全傳輸層協議(TLS)用於在兩個通信應用程序之間提供保密性和數據完整性。該協議由兩層組成: TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。較低的層為 TLS 記錄協議,位於某個可靠的傳輸協議上面。
(2)加密加簽英文擴展閱讀:
SSL加密並不保護數據中心本身,而是確保了SSL加密設備的數據中心安全,可以監控企業中來往於數據中心的最終用戶流量。
從某個角度來看,數據中心管理員可以放心將加密裝置放在某個地方,需要使用時再進行應用,數據中心應該會有更合理的方法來應對利用SSL的惡意攻擊,需要找到SSL加密應用的最佳實踐。
TLS協議是可選的,必須配置客戶端和伺服器才能使用。主要有兩種方式實現這一目標:一個是使用統一的TLS協議通信埠(例如:用於HTTPS的埠443)。另一個是客戶端請求伺服器連接到TLS時使用特定的協議機制(例如:郵件、新聞協議和STARTTLS)。
一旦客戶端和伺服器都同意使用TLS協議,他們通過使用一個握手過程協商出一個有狀態的連接以傳輸數據。通過握手,客戶端和伺服器協商各種參數用於創建安全連接。
參考資料來源:網路-SSL加密技術
參考資料來源:網路-TLS
『叄』 什麼是SSL加密,什麼是TLS加密
SSL加密的英文全稱是Secure Socket Layer,翻譯過來就是安全套接層。
它是在傳輸通信協議(TCP/IP)上實現的一種網路安全協議,廣泛支持各種類型的網路,並同時提供三種網路基本安全服務,而且這三種服務都是使用公開密鑰技術。
TLS加密的英文全稱是Transport Layer Security,翻譯過來就是安全傳輸層協議。
TLS是用於在兩個通信應用程序之間,為通信提供保密性和數據完整性。這個協議一共有兩層,分別是記錄協議和握手協議。通過這個協議可以對網站、網路傳真、電子郵件等數據傳輸進行加密、保密。
(3)加密加簽英文擴展閱讀:
1、SSL
SSL協議優勢
SSL協議的優勢在於它是與應用層協議獨立無關的。
高層的應用層協議(例如:HTTP、FTP、Telnet等等)能透明的建立於SSL協議之上。SSL協議在應用層協議通信之前就已經完成加密演算法、通信密鑰的協商以及伺服器認證工作。在此之後應用層協議所傳送的數據都會被加密,從而保證通信的私密性。
SSL體系結構
SSL被設計成使用TCP來提供一種可靠的端到端的安全服務,不是單個協議,而是二層協議。
低層是SSL記錄層,用於封裝不同的上層協議,另一層是被封裝的協議,即SSL握手協議,它可以讓伺服器和客戶機在傳輸應用數據之前,協商加密演算法和加密密鑰,客戶機提出自己能夠支持的全部加密演算法,伺服器選擇最適合它的演算法。
2、TLS
優勢
TLS協議的優勢是與高層的應用層協議(如HTTP、FTP、Telnet等)無耦合。
應用層協議能透明地運行在TLS協議之上,由TLS協議進行創建加密通道需要的協商和認證。應用層協議傳送的數據在通過TLS協議時都會被加密,從而保證通信的私密性。
TLS協議是可選的,必須配置客戶端和伺服器才能使用。
主要有兩種方式實現這一目標:一個是使用統一的TLS協議通信埠(例如:用於HTTPS的埠443);另一個是客戶端請求伺服器連接到TLS時使用特定的協議機制(例如:郵件、新聞協議和STARTTLS)。
演算法
在客戶端和伺服器開始交換TLS所保護的加密信息之前,他們必須安全地交換或協定加密密鑰和加密數據時要使用的密碼。
參考資料來源:網路-SSL安全套接層
參考資料來源:網路-TLS安全傳輸層
『肆』 瀵嗙爜鐨勮嫳鏂囨槸浠涔
灝嗗崟璇嶆媶鎴恜ass鍜寃ord榪涜屾湕璇匯
瀵嗙爜鑻辮鏄痯assword錛屽彲浠ュ皢鍗曡瘝鎷嗗垎榪涜屾湕璇伙紝鎷嗚В鎴恜ass鍜寃ord錛宲ass璇諱綔鈥渁鈥濓紝word璇諱綔鈥渨o鈥濓紝鍐嶅皢鍓嶅悗榪炶瘡渚濇¤誨嚭鍗沖彲銆
瀵嗙爜鏄閲囩敤鐗瑰畾鍙樻崲鐨勬柟娉曪紝瀵逛俊鎮絳夎繘琛屽姞瀵嗕繚鎶ゃ佸畨鍏ㄨよ瘉鐨勬妧鏈銆佷駭鍝佸拰鏈嶅姟銆傚瘑鐮佹槸緗戠粶瀹夊叏鐨勬妧鏈鏍稿績鍜屽熀紜鏀鎾戱紝婊¤凍緗戠粶涓庝俊鎮緋葷粺瀵逛繚瀵嗘с佸畬鏁存с佺湡瀹炴у拰涓嶅彲鍚﹁ゆх瓑瀹夊叏闇奼傘
『伍』 英文bitlocker是什麼意思
Bitlocker可以拆分為bit locker,直接翻譯的話就是比特鎖,意思是每個bit都加密。它是win操作系統當中自帶的一種加密軟體。
Bitlocker使用AES加密演算法加密整個卷來保護數據。簡單來說,BitLocker會將Windows的安裝分區或者其他用於保存文件的分區進行加密,並將密鑰保存在硬碟之外的地方,並對早期啟動組件完整性檢查,合並到一起來增強數據保護。
(5)加密加簽英文擴展閱讀
有三種認證機制可以用來構建Bitlocker。
1、透明運行模式:此模式利用TPM硬體來提供透明的用戶體驗。所謂透明,就是用戶可以在毫無知覺的情況下正常的使用電腦,可以在系統盤加密的情況且未檢測到對啟動組件的修改的情況下通過TPM硬體提供的密鑰正常登錄到windows。
由於這種方式允許攻擊者物理接觸計算機並且允許攻擊者啟動已關閉的計算機,所以這種方式容易受到冷啟動攻擊。
2、用戶認證模式:此模式要求用戶在預啟動環境下提供引導PIN或密碼進行認證。
USB密鑰認證模式:此模式下用戶必須將包含啟動密鑰的USB設備插入計算機才能啟動受保護的操作系統。並且此模式下要求計算機BIOS支持在預載入階段讀取USB設備。
密鑰還可以通過智能卡設備獲取,使用智能卡設備比單純的將密鑰保存在USB設備中要安全,因為智能卡使用內置的加密處理器將密鑰加密存儲,防止密鑰因智能卡內容泄露被簡單的獲取到。