我有一个密码,我想从中生成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/192/256位,或者试图在Java中
- 7. java.security.InvalidKeyException:密钥长度不是128/192/256位
- 8. base64 InvalidKeyException:密钥长度不是128/192/256位
- 9. InvalidKeyException异常:密钥长度不128/192/256位
- 10. 使用128位密钥创建HMAC-SHA-256算法
- 11. 如何从128位密钥生成IDEA算法的解密密钥?
- 12. 使用keytool生成128位密钥
- 13. 在PHP中生成256位密钥Rijndael
- 14. 生成AES 256位密钥值
- 15. 加密使用AES 128位加密和密钥
- 16. AES 256位加密
- 17. AES Base64 256位密钥加密和解密目标C
- 18. 如何打包128位或256位数
- 19. 将密钥转换为字节,如何将其转换回密钥?
- 20. 使用AES时,有没有办法判断数据是使用128位还是256位密钥加密的?
- 21. 将BigInteger转换为密钥
- 22. 使用AES 256和128的Java对称密钥加密
- 23. 如何将JKS证书/密钥转换为BouncyCastle证书/密钥
- 24. 如何从8位字节转换为7位字节(基地256基地128)
- 25. 为32位,64位和128位生成交织位模式(morton密钥)
- 26. 当尝试初始化Bouncy Castle密码时,密钥长度不是128/192/256位Java中
- 27. java中的128位密钥AES加密应用程序
- 28. 如何将RSA密钥号码转换为与OpenSSL兼容的密钥?
- 29. 要获得AES-256加密,我只是提供一个256位密钥?
- 30. 128位PHP数据加密和解密
为什么你** EVER **使用WEP?!它几乎与不加密一样不安全!如果你想要安全,你必须**使用WPA! – ThiefMaster
这里是:['(void *)0'](http://en.wikipedia.org/wiki/Cryptographic_hash_function)。 –
@ThiefMaster:OP没有说她想要使用WEP。她只想创建一个WEP **键**。 –