誰能幫助我使用公共和私人密鑰進行RSA加密和解密
uj5u.com熱心網友回復:RSA是一種非對稱加密演算法。這意味著它需要一個公鑰和私鑰,以便對資訊進行加密和解密。這通常是通過隨機生成的密鑰完成的。
從技術上講,是否有可能從口令中生成RSA 密鑰,盡管這似乎不是你真正要尋找的東西。
GUID是一個128位的整數(16位元組),可以在所有需要唯一識別符號的計算機和網路中使用。這樣的識別符號被重復的概率非常低。
這可用于一些流行的對稱加密演算法,如AES,以只用1個密鑰來加密資料,特別是因為GUID的長度與AES 128bit密鑰相似。(盡管實際使用它可能需要一些精確性,因為一些加密演算法的密鑰需要遵循特定的模式)編輯:我剛剛測驗了一下,你可以使用一個GUID作為128位AES加密密鑰,不需要任何花哨的東西。
//創建我們將要加密的字串。
string original = "hello world"。
//得到一個新的GUID,作為加密密鑰。
Guid id = Guid.NewGuid()。
使用(Aes myAes = Aes.Create()
{
//確保密鑰大小符合GUID的大小(128位)。
myAes.KeySize = 128。
//設定加密密鑰以代替GUID。
myAes.Key = id.ToByteArray();
//將字串加密為位元組陣列。
byte[] encrypted = EncryptStringToBytes_Aes(original, myAes.Key, myAes.IV)。
//確保位元組被加密。
Console.WriteLine(string.Join(", ", encrypted))。
//解密位元組為一個字串。。
string roundtrip = DecryptStringFromBytes_Aes(encrypted, myAes.Key, myAes.IV)。
//顯示原始資料和解密后的資料。
Console.WriteLine("Original: {0}"/span>, original);
Console.WriteLine("Round Trip: {0}"/span>, roundtrip);
}
綜上所述,為生產和OPSEC環境實施有效的加密方案是一項嚴肅的作業,需要大量的資訊、背景,以及對當前密碼學環境的深刻理解。我既沒有足夠的資訊,也沒有足夠的學識來解釋正確的加密標準、技術,以及什么是有效的加密,什么是不可以使用的。在為嚴肅的專案實施這段代碼之前,請完成你自己的個人研究。
。轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/319279.html
標籤:
上一篇:我可以讓SSHForwardAgent和ProxyJump與Git一起作業嗎?
下一篇:如何列舉過濾重復的組合
