『壹』 SSL證書是怎麼對網站數據加密的
證書主要作用是在SSL握手中,我們來看一下SSL的握手過程:
1. 客戶端提交https請求;
2. 伺服器響應客戶,並把證書公鑰發給客戶端;
3. 客戶端驗證證書公鑰的有效性;
4. 有效後,會生成一個會話密鑰;
5. 用證書公鑰加密這個會話密鑰後,發送給伺服器;
6. 伺服器收到公鑰加密的會話密鑰後,用私鑰解密,回去會話密鑰;
7. 客戶端與伺服器雙方利用這個會話密鑰加密要傳輸的數據進行通信。
解決方式:ssln的SSL證書保護網站信息傳輸安全
『貳』 Windows 系統下加密私鑰
ESF加密操作雖然簡單,但是如果你重裝了系統,以後即使利用原來的用戶名和密碼,也無法打開EFS加密文件(夾),因此你應該及時備份密鑰,這樣以後即使重裝系統,也能打開加密文件。
EFS加密私鑰的導出
一、單擊「開始」——「運行」,輸入「certmgr.msc」,單擊「確定」按鈕。
二、打開證書管理器,點擊「證書→當前用戶」下的「個人→證書」。
三、右鍵單擊「證書」下的用戶「administrator」,選擇「所有任務」——「導出」。
四、在彈出的「證書導出向導」對話框中,單擊「下一步」。
五、在出現的「導出私鑰」對話框中,選擇「是,導出私鑰」,單擊「下一步」。
六、在彈出的「導出文件格式」對話框中,選擇導出的文件格式,單擊「下一步」。
七、在彈出的對話框中,添入密碼保護私鑰,單擊「下一步」。
八、在出現的「要導出的文件」對話框中,單擊「瀏覽」指定要導出的文件。
九、在彈出的「另存為」對話框中,選擇導出的文件存放位置及文件名,選擇文件存放位置為桌面,將文件命名為「ITCSO」,單擊「保存」按鈕。
十、返回到「要導出的文件」對話框中,單擊「下一步」。
十一、在出現的「正在完成證書導出向導」提示對話框中,單擊「完成」,完成導出證書的設置。
『叄』 如何保存私鑰
私鑰一般都有很強的加密手法,導出的時候設置一個導入密碼就行。保存的話用附件方式發送到自己郵箱里最好。這樣在需要用到的時候上網下載下來隨便導入一台電腦就能用了。
麻煩採納,謝謝!
『肆』 比特幣基礎教學之:怎樣保護你的私鑰
用對稱加密的方法保管私鑰
對稱加密(Symmetric-key algorithm)是指加密和解密都用一個密鑰。我們平時用到的加密方法一般都是對稱加密,比如 winrar 中的加密,bitcoin-qt中對私鑰文件的加密也是用的對稱型加密演算法。常用的對稱加密演算法有:AES、DES、RC4、RC5等等。對稱加密需要用 戶設置相對比較復雜的密鑰,以防止被暴力破解。
加密命令:encryptwallet YOURPASSWORD
解密錢包命令:
walletpassphrase YOURPASSWORD TIMEOUT
更改密碼命令:
walletpassphrasechange OLDPASSWORD NEWPASSWORD
方法二,使用blockchain提供的AES加密。Blockchain為用戶提供基於AES演算法的私鑰文件加密服務。用戶可以將加密好的文件下載下來,並妥善保存。 方法三,用第三方軟體Truecrypt對密鑰文件加密,這也是編者比較推薦的方法。Truecrypt開源免費,軟體成熟度很高,而且支持雙因素認證和整個硬碟加密。另外,FBI人員在Truecrypt上面吃過虧,因此口碑很不錯。
Truecrypt的口碑
Truecrypt只支持對稱加密演算法。使用它的用戶必須要將密鑰牢記,如果你忘記密鑰,那麼沒有人能夠恢復你加密的文件。
Truecrypt官方網站
Truecrypt使用文檔
用非對稱加密的方法保管私鑰
非對稱加密方法所採用公鑰和私鑰的形式來對文件進行加密。用戶可以用公鑰來對文件進行加密,用私鑰對文件解密。常見的非對稱加密演算法有RSA、 Elgamal、ECC等等。非對稱加密的好處是密鑰的復雜度一般很高,可以很有效的防止被暴力破解。缺點是有一定的使用門檻,不太適合普通級用戶。 方法一、個人用戶可以考慮使用RSA來進行加密。首先,可以創建公鑰和私鑰,點擊這里生成密鑰。將公鑰私鑰妥善保管後,便可以用公鑰加密和私鑰解密了,點擊這里進行加密和解密。
RSA公鑰和私鑰的產生過程
方法二、比較成熟的非對稱加密軟體有我們可以採用PGP(Pretty Good Privacy)工具來對文件進行加密。PGP加密可以讓每個公鑰邦定到一個用戶的所有信息。相比RSA來講,PGP的功能更加完善可靠。但是隨著PGP 的升級,新的加密消息有可能不被舊的PGP系統解密,所以用戶在使用PGP之前應該首先熟悉PGP的設置。PGP加密工具網上有很多,編者就不列舉了。
wiki中關於PGP的介紹
PGP在線加解密系統PGP命令FAQ高級方法保管私鑰
上述保管私鑰的方式都很常見,有經驗的攻擊者依然可能得到用戶的私鑰文件。關於更加高級隱秘的私鑰保管方式,參見以後的比特幣高級教學內容。
『伍』 https的加密機制,怎麼加密
HTTPS加密是在簽發信任機構的SSL證書。
數字證書的作用和原理概述:https://www.gworg.com/ssl/353.html
這種加密模式比較復雜的,他產生了中介數據交易驗證。
『陸』 如何用私鑰加密文件
看文教啊哈哈哈哈哈
『柒』 solidity 私鑰轉成地址
需要密鑰
私鑰加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。
『捌』 web伺服器的私鑰保存在什麼地方
是一段代碼
如果要解除HTTP起動時的口令輸入
可以這樣:
# cd /usr/local/apache2/conf/ssl.key/
或創建 /usr/local/apache2/conf/ssl.key/sendsslpwd
此時,Web伺服器的私鑰已經沒有口令加密
『玖』 https是如何加密的
HTTPS其實是有兩部分組成:HTTP + SSL / TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸的數據都是加密後的數據。具體是如何進行加密,解密,驗證的,且看下圖。
1. 客戶端發起HTTPS請求
這個沒什麼好說的,就是用戶在瀏覽器里輸入一個https網址,然後連接到server的443埠。
2. 服務端的配置
採用HTTPS協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。這套證書其實就是一對公鑰和私鑰。如果對公鑰和私鑰不太理解,可以想像成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然後發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。
3. 傳送證書
這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等等。
4. 客戶端解析證書
這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那麼就生成一個隨機值。然後用證書對該隨機值進行加密。就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。
5. 傳送加密信息
這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。
6. 服務段解密信息
服務端用私鑰解密後,得到了客戶端傳過來的隨機值(私鑰),然後把內容通過該值進行對稱加密。所謂對稱加密就是,將信息和私鑰通過某種演算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密演算法夠彪悍,私鑰夠復雜,數據就夠安全。
7. 傳輸加密後的信息
這部分信息是服務段用私鑰加密後的信息,可以在客戶端被還原。
8. 客戶端解密信息
客戶端用之前生成的私鑰解密服務段傳過來的信息,於是獲取了解密後的內容。整個過程第三方即使監聽到了數據,也束手無策。
『拾』 DES 加密後的密鑰,如何保存或發送
import java.security.Key;
import java.security.KeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
public class Test {
////這塊不熟還請自己測試
public static void main(String [] args) {
String Algorithm="DES"; //定義 加密演算法,可用 DES,DESede,Blowfish
KeyGenerator keygen;
try {
keygen = KeyGenerator.getInstance(Algorithm);
SecretKey deskey = keygen.generateKey();
Cipher ci = Cipher.getInstance("DES");
//將其包裝為byte[]發送
byte[] b = ci.wrap(deskey);
//發送
//...
//接收到後
//解封裝
Key key = ci.unwrap(b, Algorithm, Cipher.PRIVATE_KEY);
//...
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
}
}
}