A. 密碼的加密方式
也稱棋盤密碼,是利用波利比奧斯方陣(Polybius Square)進行加密的密碼方式,產生於公元前兩世紀的希臘,相傳是世界上最早的一種密碼。 假設我們需要發送明文訊息 「Attack at once」, 用一套秘密混雜的字母表填滿波利比奧斯方陣,像是這樣: A D F G X A b t a l p D d h o z k F q f v s n G g j c u x X m r e w y i和j視為同一個字,使字母數量符合 5 × 5 格。之所以選擇這五個字母,是因為它們譯成摩斯密碼時不容易混淆,可以降低傳輸錯誤的機率。使用這個方格,找出明文字母在這個方格的位置,再以那個字母所在的欄名稱和列名稱代替這個字母。可將該訊息轉換成處理過的分解形式。 明文:A T T A C K A T O N C E 密文:AF AD AD AF GF DX AF AD DF FX GF XF A,D,F,G,X也可以用數字1,2,3,4,5來代替,這樣密文就成了: 13 12 12 13 43 25 13 12 23 35 43 53
B. 密碼加密的方法有那些
用戶密碼加密方式
用戶密碼保存到資料庫時,常見的加密方式有哪些?以下幾種方式是常見的密碼保存方式:
1. 明文保存
比如用戶設置的密碼是「123456」,直接將「123456」保存在資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。
2. 對稱加密演算法來保存
比如3DES、AES等演算法,使用這種方式加密是可以通過解密來還原出原始密碼的,當然前提條件是需要獲取到密鑰。不過既然大量的用戶信息已經泄露了,密鑰很可能也會泄露,當然可以將一般數據和密鑰分開存儲、分開管理,但要完全保護好密鑰也是一件非常復雜的事情,所以這種方式並不是很好的方式。
總結
採用PBKDF2、bcrypt、scrypt等演算法可以有效抵禦彩虹表攻擊,即使數據泄露,最關鍵的「用戶密碼」仍然可以得到有效的保護,黑客無法大批量破解用戶密碼,從而切斷撞庫掃號的根源。
【加密軟體編輯推薦】
易控網盾加密軟體--重要文件防泄密專家!輕松實現單位內部文件自動加密保護,加密後的文件在單位內部正常流轉使用。未經許可,任何私自拷貝加密文件外發出去,都將打開為亂碼,無法使用!對於發送給客戶等第三方的文件,可實現控制打開時間和打開次數等防泄密參數!同時可設置對員工電腦文件自動備份,防止惡意刪除造成核心數據的遺失!從源頭防止企業核心文件被外泄!
相關頁面:加密軟體,文件加密,文檔加密,圖紙加密軟體,防泄密軟體,CAD加密軟體,文件外發加密
C. 關於密碼加密方式 MD5
這個。。。最簡單的你直接加密試試比對一下就行了唄,就用現在比較大眾的一些演算法就行
如果光是 MD5 看看長度就能算出是哪種了
D. QQ密碼是採用什麼加密演算法
由於QQ的密碼是經過128位加密處理的,且不可逆計算。只能由QQ自己的賬號登錄後才可以識別和打開的。
QQ客戶端向伺服器發送一個請求登錄的數據包。伺服器返回登錄令牌。這個令牌是在伺服器端生成的。和客戶端的IP地址,版本信息等數據相關。以後會用到這個令牌去進行其他操作。
QQ客戶端得到登錄令牌之後,就會向伺服器發送一個包含登錄信息的登錄請求,要求登錄。服務順會首先看看客戶端的號碼,守址和版本是否可以在本伺服器上進行登錄。
(4)密碼加密方式擴展閱讀:
修改QQ密碼步驟:
1、首先在手機上面登錄到QQ帳號,然後點擊屏幕左上角的頭像。點擊左上角的頭像以後出現側拉菜單,再菜單上面點擊設置。
E. 資料庫中用戶密碼通常用什麼加密方式
早些時候是md5 後期是sha1 都是摘要演算法
原密碼是無法發到郵箱的
找回密碼是產生一個隨機新密碼的哈希值然後把新密碼的哈希值寫入資料庫, 然後把新密碼發給用戶.
用戶名一般無需加密
F. windows 開機密碼的加密方式是怎樣的
當你一個賬號,設置了密碼後,系統會將你的密碼以以一種特殊的編碼,方式存放在:C:\windows\system32\config\SAM 裡面!
如果你刪除了SAM這個文件那麼開機就不需要密碼了!
G. mysql資料庫密碼加密方式有幾種
MySQL資料庫的認證密碼有兩種方式,
MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之後的版本都是MySQLSHA1加密,
MySQL資料庫中自帶Old_Password(str)和Password(str)函數,它們均可以在MySQL資料庫里進行查詢,前者是MySQL323加密,後者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
selectold_password('111111');
(2)以MySQLSHA1方式加密
select password('111111');
MYSQL323加密中生成的是16位字元串,而在MySQLSHA1中生存的是41位字元串,其中*是不加入實際的密碼運算中,通過觀察在很多用戶中都攜帶了"*",在實際破解過程中去掉"*",也就是說MySQLSHA1加密的密碼的實際位數是40位。
H. spring提供的幾種密碼加密方式
第一種:不使用任何加密方式的配置
[html]view plain
<beanid="AuthenticationProvider"
class="org.acegisecurity.providers..DaoAuthenticationProvider">
<propertyname="userDetailsService"ref="userDetailsService"/>
<!--明文加密,不使用任何加密演算法,在不指定該配置的情況下,Acegi默認採用的就是明文加密-->
<!--<propertyname="passwordEncoder"><beanclass="org.acegisecurity.providers.encoding.PlaintextPasswordEncoder">
<propertyname="ignorePasswordCase"value="true"></property></bean></property>-->
</bean>
第二種:MD5方式加密
[html]view plain
<beanid="AuthenticationProvider"class="org.acegisecurity.providers..DaoAuthenticationProvider">
<propertyname="userDetailsService"ref="userDetailsService"/>
<propertyname="passwordEncoder">
<beanclass="org.acegisecurity.providers.encoding.Md5PasswordEncoder">
<!--false表示:生成32位的Hex版,這也是encodeHashAsBase64的,Acegi默認配置;true表示:生成24位的Base64版-->
<propertyname="encodeHashAsBase64"value="false"/>
</bean>
</property>
</bean>
第三種:使用MD5加密,並添加全局加密鹽
java代碼
[html]view plain
<beanid="AuthenticationProvider"class="org.acegisecurity.providers..DaoAuthenticationProvider">
<propertyname="userDetailsService"ref="userDetailsService"/>
<propertyname="passwordEncoder">
<beanclass="org.acegisecurity.providers.encoding.Md5PasswordEncoder">
<propertyname="encodeHashAsBase64"value="false"/>
</bean>
</property>
<!--對密碼加密演算法中使用特定的加密鹽及種子-->
<propertyname="saltSource">
<beanclass="org.acegisecurity.providers..salt.SystemWideSaltSource">
<propertyname="systemWideSalt"value="acegisalt"/>
</bean>
</property>
</bean>
第四種:使用MD5加密,並添加動態加密鹽
[html]view plain
<beanid="AuthenticationProvider"class="org.acegisecurity.providers..DaoAuthenticationProvider">
<propertyname="userDetailsService"ref="userDetailsService"/>
<propertyname="passwordEncoder">
<beanclass="org.acegisecurity.providers.encoding.Md5PasswordEncoder">
<propertyname="encodeHashAsBase64"value="false"/>
</bean>
</property>
<!--對密碼加密演算法中使用特定的加密鹽及種子-->
<propertyname="saltSource">
<!--通過動態的加密鹽進行加密,該配置通過用戶名提供加密鹽,通過UserDetails的getUsername()方式-->
<beanclass="org.acegisecurity.providers..salt.ReflectionSaltSource">
<propertyname="userPropertyToUse"value="getUsername"/>
</bean>
</property>
</bean>
第五種:使用哈希演算法加密,加密強度為256
[html]view plain
<beanid="AuthenticationProvider"class="org.acegisecurity.providers..DaoAuthenticationProvider">
<propertyname="userDetailsService"ref="userDetailsService"/>
<propertyname="passwordEncoder">
<beanclass="org.acegisecurity.providers.encoding.ShaPasswordEncoder">
<constructor-argvalue="256"/>
<propertyname="encodeHashAsBase64"value="false"/>
</bean>
</property>
</bean>
第六種:使用哈希演算法加密,加密強度為SHA-256
[html]view plain
<beanid="AuthenticationProvider"class="org.acegisecurity.providers..DaoAuthenticationProvider">
<propertyname="userDetailsService"ref="userDetailsService"/>
<propertyname="passwordEncoder">
<beanclass="org.acegisecurity.providers.encoding.ShaPasswordEncoder">
<constructor-argvalue="SHA-256"/>
<propertyname="encodeHashAsBase64"value="false"/>
</bean>
</property>
</bean>
上述配置只是在Acegi通過表單提交的用戶認證信息中的密碼做各種加密操作。而我們存儲用戶密碼的時候,可以通過一下程序完成用戶密碼操作:
[java]view plain
packageorg.hz.test;
importjava.security.NoSuchAlgorithmException;
importorg.springframework.security.authentication.encoding.Md5PasswordEncoder;
importorg.springframework.security.authentication.encoding.ShaPasswordEncoder;
publicclassMD5Test{
publicstaticvoidmd5(){
Md5PasswordEncodermd5=newMd5PasswordEncoder();
//false表示:生成32位的Hex版,這也是encodeHashAsBase64的,Acegi默認配置;true表示:生成24位的Base64版
md5.setEncodeHashAsBase64(false);
Stringpwd=md5.encodePassword("1234",null);
System.out.println("MD5:"+pwd+"len="+pwd.length());
}
publicstaticvoidsha_256(){
ShaPasswordEncodersha=newShaPasswordEncoder(256);
sha.setEncodeHashAsBase64(true);
Stringpwd=sha.encodePassword("1234",null);
System.out.println("哈希演算法256:"+pwd+"len="+pwd.length());
}
publicstaticvoidsha_SHA_256(){
ShaPasswordEncodersha=newShaPasswordEncoder();
sha.setEncodeHashAsBase64(false);
Stringpwd=sha.encodePassword("1234",null);
System.out.println("哈希演算法SHA-256:"+pwd+"len="+pwd.length());
}
publicstaticvoidmd5_SystemWideSaltSource(){
Md5PasswordEncodermd5=newMd5PasswordEncoder();
md5.setEncodeHashAsBase64(false);
//使用動態加密鹽的只需要在注冊用戶的時候將第二個參數換成用戶名即可
Stringpwd=md5.encodePassword("1234","acegisalt");
System.out.println("MD5SystemWideSaltSource:"+pwd+"len="+pwd.length());
}
publicstaticvoidmain(String[]args){
md5();//使用簡單的MD5加密方式
sha_256();//使用256的哈希演算法(SHA)加密
sha_SHA_256();//使用SHA-256的哈希演算法(SHA)加密
md5_SystemWideSaltSource();//使用MD5再加全局加密鹽加密的方式加密
}
}
I. 密碼加密方式有哪些
M5D 加密是最常見的 加密演算法成千上萬 幾種 我看沒人能說得出來哈 不可逆的加密就不是加密啦 都讀不出來了 那些數據已經沒意義了。所以加密都是可逆的。
希望對你能有所幫助。
J. QQ密碼加密方式
加密方式是不可逆的,就算得到也轉義不出來的。