我被要求将登录表单指向外部站点,其中登录和传递应该出现在URL中,并且传递应该是Blowfish加密的。我获得了一个“密钥”,其格式为:"nnn-nnnssssssssssssssssssssssssnnnnnn"
其中n是数字,s是字母(其中24个)。
从PHP文档看来,要使用crypt()触发Blowfish加密,需要以“$ 2a $”开头的特定格式提供salt,但这不是我提供的密钥的格式。这是否意味着我需要提供自己的盐?如果是的话,我提供的密钥有什么意义?
答案 0 :(得分:1)
crypt是一种散列函数,它不适用于加密。要实际加密你需要mcrypt或纯PHP实现的东西(我记得在梨中看到的东西)。
答案 1 :(得分:1)
试试这个盐:$ 2a $ nn $ nnnnsssssssssssnnn $(没用)
这不是哈希,你必须使用mcrypt或PEAR库:
http://pear.php.net/package/Crypt_Blowfish
示例:
http://www.chilkatsoft.com/p/php_blowfish.asp
我没有看到IV,所以模式必须是ECB(弱),整个事情将成为关键。