我已经继承了一个项目,其中以前的开发人员在将用户密码发送到数据库之前使用名为ActiveCrypt.Crypt
的ASP对象进行加密。除了以“=”结尾的base64还有其他编码方法吗?
该调用使用encryptvariant()
函数,其模式为7,我可以找到唯一的文档表明加密是3DES(公司现在已不存在)。问题是,从函数派生的值看起来是一个base64编码的字符串(尾随的单倍和双倍“==”是一个无用的赠送)。
是否有其他编码经常以“=”或“==”结尾?有人熟悉这个ActiveCrypt对象吗?我尝试过使用3DES编码密码,然后转换为base64,但没有运气。如果开发者交换了参数,我也尝试了反转密钥和密码。任何帮助,将不胜感激。
使用钥匙的“钥匙”的一些例子(不带引号)
abcdefg: xiupz3RT148=
123456: iDLXPSPPjd4=
test: AWulSF10FR0=
1234567890: 8I48MAg9YWvE3y52VfMYew==
当然看起来像Base64。你有理由相信它不是?似乎更有可能您看到未知(或部分已知)加密方案的Base64编码输出。 –
您是否使用[Base64的所有变体](http://en.wikipedia.org/wiki/Base64#Implementations_and_history)进行了检查? –