我有一個密碼,我想從中生成128位或256位WEP密鑰。任何指針或鏈接將有助於如何從純文本生成WEP密鑰。如何將密碼轉換爲128位/ 256位WEP密鑰?
3
A
回答
0
閱讀關於Key Derivation Functions從頭開始。高品質的現代KDF是scrypt,bcrypt和PBKDF2。他們都有開源的實現。
對於PBKDF2,您可以指定派生密鑰的長度。對於scrypt,您可以選取輸出的前N位並將它們用作鍵。
如果不使用KDF,最直接的方法是將您的密碼與24位IV(初始化向量)連接起來,形成一個RC4密鑰。
請注意,WEP會將您的密鑰和IV結合起來爲種子數據流提供密鑰的RC4流;出於這個原因,WEP有一些缺點,這使得它無法提供足夠的數據機密性。您可以按照Wikipedia page鏈接瞭解更多信息。
不要使用密碼散列作爲派生密鑰。
2
希望原來的海報已經找到了答案,但我找到了這個信息SHOCKINGLY難以置信,因爲它已被廢棄。正如反覆提到的那樣,在這個線程和其他人中,WEP是非常不安全的,但由於某種原因,沒有人願意直接給出答案,並且有很多建議去學習其他東西。
對於原始問題,128位密鑰是一個64字節字符串的MD5散列。這個64字節的字符串是一遍又一遍重複的ASCII通行短語,然後被截斷爲64字節。例如在SQL Server中,這會顯示爲:
SELECT CAST(HASHBYTES('MD5', LEFT(REPLICATE(@phrase, CEILING(64.0/LEN(@phrase))), 64)) AS varbinary(13))
相關問題
- 1. 密鑰長度不是128/192/256位
- 2. AES加密:InvalidKeyException:密鑰長度不是128/192/256位
- 3. PHP加密:具有256位密鑰的AES-128-CBC?
- 4. AES 128位和AES 256位加密解密
- 5. 如何SJCL使用256位密鑰
- 6. 使用128位密鑰創建HMAC-SHA-256算法
- 7. java.security.InvalidKeyException:密鑰長度不是128/192/256位
- 8. 密鑰長度不128/192/256位,或者試圖在Java中
- 9. base64 InvalidKeyException:密鑰長度不是128/192/256位
- 10. InvalidKeyException異常:密鑰長度不128/192/256位
- 11. 如何從128位密鑰生成IDEA算法的解密密鑰?
- 12. 如何使用base64對256位AES密鑰進行編碼?
- 13. ValueError:密鑰必須是128位長XTEA
- 14. 使用keytool生成128位密鑰
- 15. 在PHP中生成256位密鑰Rijndael
- 16. 生成AES 256位密鑰值
- 17. 加密使用AES 128位加密和密鑰
- 18. AES 256位加密
- 19. AES Base64 256位密鑰加密和解密目標C
- 20. 如何打包128位或256位數
- 21. 將密鑰轉換爲字節,如何將其轉換回密鑰?
- 22. 將BigInteger轉換爲密鑰
- 23. 使用AES 256和128的Java對稱密鑰加密
- 24. 如何將JKS證書/密鑰轉換爲BouncyCastle證書/密鑰
- 25. 如何從8位字節轉換爲7位字節(基地256基地128)
- 26. 爲32位,64位和128位生成交織位模式(morton密鑰)
- 27. 如何將pygame.key.get_pressed()轉換爲密鑰
- 28. 當嘗試初始化Bouncy Castle密碼時,密鑰長度不是128/192/256位Java中
- 29. 使用s3cmd工具中的256位AES密鑰加密文件
- 30. 如何將RSA密鑰號碼轉換爲與OpenSSL兼容的密鑰?
爲什麼你** EVER **使用WEP?!它幾乎與不加密一樣不安全!如果你想要安全,你必須**使用WPA! – ThiefMaster
這裏是:['(void *)0'](http://en.wikipedia.org/wiki/Cryptographic_hash_function)。 –
@ThiefMaster:OP沒有說她想要使用WEP。她只想創建一個WEP **鍵**。 –