導航:首頁 > 文檔加密 > 加密函數需要密鑰嗎

加密函數需要密鑰嗎

發布時間:2022-07-04 13:27:03

A. python有沒有秘鑰加密的函數,比如說:function(秘鑰, 文件),有沒有這樣的function的函數嗎

python的標准庫裡面沒有加密的,只有hashing的演算法。你要是需要加密的話,有另外的一個PyCrypto庫可以用(但是我不知道pycrypto的license是什麼,你用之前要自己看看是不是適合你的project使用)。

B. 關於C# DES加密時密鑰問題

1)DES加密程序中,保存key和iv有兩種做法
【Ⅰ】將key和iv「寫死」在在程序中,一旦程序編譯發布後,key和iv就無法改變
【Ⅱ】將保存key和iv保存在配置文件中,程序發布後,可以隨時改變配置文件中的key和iv
為了增加安全性,在第二種方法中,配置文件中保存的不是key和iv的明文,而是用md5加密後的key和iv。這樣,即使你的程序發布出去,別人也無法知道程序中真正使用的key和iv是什麼,增加了安全性。
System.Web.Security.FormsAuthentication.(sKey, "md5").Substring(0, 8)的作用是從配置文件取出加密的key和iv,然後用md5將解密,從而得到真正的key和iv
2)明白了1)後,第二個問題就容易理解了。

C. md5加密需要密鑰嗎

md5本身只是一個特徵值 不需要秘鑰 也不屬於加密
所謂的md5加密 都是配合其他加密演算法的
是否需要秘鑰,需要看採用的加密演算法。

D. 請問DES加密演算法中的這3個函數(獲取密鑰函數,加密函數與解密函數)的含義是什麼(附函數演算法)

/// <summary>
/// DES密鑰
/// </summary>
private const string KEY_64 = "11111111";//注意了,是8個字元,64位
/// <summary>
/// DES向量
/// </summary>
private const string IV_64 = "11111111";
/// <summary>
/// 加密DES
/// </summary>
/// <param name="data">需要加密的字元串</param>
/// <returns>加密後的字元串</returns>
public static string EncodeDES(string data)
{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream();
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cst);
sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);

}
/// <summary>
/// 解密DES
/// </summary>
/// <param name="data">需要解密的字元串</param>
/// <returns>解密後的字元串</returns>
public static string DecodeDES(string data)
{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
byte[] byEnc;
try
{
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
}

DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
return sr.ReadToEnd();
}

E. 加密演算法和密鑰的作用

一、加密演算法:將原有的明文信息轉化為看似無規律的密文。收信方需要對應的解密密鑰,採用對應的解密方法將密文還原為明文(能看懂有意義的信息)。
二、密鑰分為加密密鑰和解密密鑰,對於「對稱加密演算法」,這兩者是一樣的;而「非對稱加密演算法」的密鑰分為「公開密鑰」和「私有密鑰」,用公開密鑰加密,則需要私有密鑰解密;反之用私有密鑰加密,則需要公開密鑰解密,是可以互換的。
三、現代的計算機加密演算法比較復雜,要弄懂是需要離散數學、高等代數等知識,不可能在這里講明白。
四、以「凱撒移位密碼」這種最古來的簡單密碼來講解什麼是加密演算法和密鑰:
4.1)「凱撒密碼」在《愷撒傳》中有記載,凱撒密碼是將每一個字母用字母表中的該字母後的第三個字母代替。盡管歷史記載的凱撒密碼只用了3個位置的移位,但顯然從1到25個位置的移位我們都可以使用, 因此,為了使密碼有更高的安全性,單字母替換密碼就出現了。
若用每個字母的後11位替換當前字母,可以認為密鑰=11。
如此得到的密碼表為:
明碼表 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z(即26個字母表)
密碼表 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
加密的方法很簡單,就是講明碼字母換成對應的密碼表字母。
如:明文 I LOVE YOU
密文 T WZGP JZF
在當時,這樣簡單的密碼就足夠起到保密作用;但到近代都已經很容易被破解了,更不用說現代有計算機秒破了!
4.2)其他加密演算法
有興趣可以了解更復雜的加密演算法:如近代的「維吉尼亞演算法」,還屬於字母位移加密,好懂!而現代計算機文件深度加密常用的「AES加密演算法」,原理很復雜,需要高等數學等知識才能讀懂。

F. a與b通信加密時用的密鑰是什麼

這個都是自己設定的。
A和B進行加密通信時,B首先要生成一對密鑰。一個是公鑰,給A,B自己持有私鑰。A使用B的公鑰加密要加密發送的內容,然後B在通過自己的私鑰解密內容。
這個是JAVA的非對稱性加密演算法,Java是一門面向對象的編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。

G. wpa2加密是不是連接的時候必須要密鑰

這個我可以很明確的告訴你,別人進的時候是需要密碼的,而之所以你自己不需要密碼是因為現在的軟體太智能了,只要你連接成功過,就會默認「當此網路在范圍內時自動連接」。(你可以打開你的無線網路列表,查看下屬性就知道了。)如果不需要自動連接,想每次都輸密碼的話,就把它前面的勾去掉。

H. 加密方式有幾種

加密方式的種類:

1、MD5

一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於1992年公開,用以取代MD4演算法。這套演算法的程序在 RFC 1321 標准中被加以規范。

2、對稱加密

對稱加密採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。

3、非對稱加密

與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。

如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。

(8)加密函數需要密鑰嗎擴展閱讀

非對稱加密工作過程

1、乙方生成一對密鑰(公鑰和私鑰)並將公鑰向其它方公開。

2、得到該公鑰的甲方使用該密鑰對機密信息進行加密後再發送給乙方。

3、乙方再用自己保存的另一把專用密鑰(私鑰)對加密後的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密後的信息。

在傳輸過程中,即使攻擊者截獲了傳輸的密文,並得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。

同樣,如果乙要回復加密信息給甲,那麼需要甲先公布甲的公鑰給乙用於加密,甲自己保存甲的私鑰用於解密。

I. 加密和解密必須依賴密鑰和什麼

密碼學中兩種常見的密碼演算法為對稱密碼演算法(單鑰密碼演算法)和非對稱密碼演算法(公鑰密碼演算法)。 對稱密碼演算法有時又叫傳統密碼演算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數對稱演算法中,加密解密密鑰是相同的。

J. 對數據進行AES、DES等加密時,需要使用密鑰,密鑰要如何存儲才能保證其安全性呢,即不被竊取

分開存放,比如2個人,每人知道一半。用起來麻煩,但安全性顯著提高

閱讀全文

與加密函數需要密鑰嗎相關的資料

熱點內容
一直編譯不過怎麼辦 瀏覽:827
汽車串聯並聯演算法 瀏覽:458
助眠解壓的聲音音頻小哥哥 瀏覽:275
pythoncmd換行 瀏覽:374
linux取消行號 瀏覽:353
安卓原生系統官網是什麼 瀏覽:444
底部主圖源碼 瀏覽:878
伺服器崩了有什麼提示 瀏覽:780
遠程海康伺服器用什麼瀏覽器 瀏覽:232
解壓報紙圖片 瀏覽:956
python微信公眾號開發平台 瀏覽:895
知識付費網站java源碼 瀏覽:255
方舟怎麼做命令管理 瀏覽:849
linux流量異常 瀏覽:675
單片機如何給電腦加密碼 瀏覽:519
如何刪掉多餘的伺服器 瀏覽:220
c編程演算法 瀏覽:833
堵車如何緩解壓力 瀏覽:17
喜鵲快貸app怎麼了 瀏覽:263
海龜編輯器積木編程怎麼安裝 瀏覽:185