解密php中使用aspEncrypt加密的字符串
我需要与使用persits 的aspEncrypt 的asp 平台进行通信。 任何人都可以提供一个如何使用 PHP 和 mcrypt 解码通过 aspEncrypt 例程创建的字符串的示例。
此链接提供了 aspEncrypt 的示例页面: http://support.persits.com/encrypt/demo_text.asp
所以如果我使用文本“Test”和键“test”提供了一个base64编码的字符串。我需要一个 php 示例,使用“test”键将此编码字符串转换回文本“Test”。
I need to communicate with a asp platform that uses the aspEncrypt from persits.
Can anyone provide an example how to decode a string with PHP and mcrypt that was created via the aspEncrypt routines.
An example page of aspEncrypt is available at this link:
http://support.persits.com/encrypt/demo_text.asp
So if I use the text "Test" and the key "test" it provides an base64 encoded string. I need a php example that convert this encoded string back to the text "Test" with usage of key "test".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这就是我最终解决它的方法:
期望:
在我的特殊情况下,所有接收到的数据都进行了十六进制编码。
这意味着 IV 和加密文本。
相应的加密工作原理如下:
This is how i finally solved it:
Expectation:
In my special case all received data hex encoded.
This means IV and encrypted text.
A corresponding encryption works like that:
我遇到一个旧的 VBScript 项目,它使用 AspEncrypt 加密字符串,如下所示:
基于
GenerateKeyFromPassword
的参数,通过使用 SHA-512 对密码进行哈希处理来创建二进制密钥,并使用 aes 加密数据-256-cbc 算法。随机 Base64 编码的初始化向量附加到加密值的冒号后面。这可以使用 OpenSSL 扩展在 PHP 中复制:
示例用法:
注意:如果在未设置初始化向量的情况下使用 AspEncrypt,则 IV 将是空字节序列。这个固定的 IV 可以在上面的 PHP 类中生成,如下所示:
I encountered an old VBScript project which was encrypting strings with AspEncrypt like this:
Based on the arguments to
GenerateKeyFromPassword
, a binary key is created by hashing the password with SHA-512, and data is encrypted with the aes-256-cbc algorithm. The random Base64-encoded initialization vector is appended to the encrypted value after a colon.This can be replicated in PHP using the OpenSSL extension:
Example usage:
Note: if AspEncrypt was used without setting an initialization vector, the IV will be sequence of null bytes. This fixed IV could be generated in the above PHP class as follows:
这取决于它使用的密码,看看 mcrypt 只要你知道密码和密钥应该很容易解密。
It depends on which cipher it uses, take a look at mcrypt as long as you know the cipher and key it should be easy to decrypt.
如果您知道加密所使用的密码和模式,函数
mcrypt_decrypt
可以解密它。https://www.php.net/manual/en/function。 mcrypt-decrypt.php
If you know the cipher and mode used by the encryption, the function
mcrypt_decrypt
can decrypt it.https://www.php.net/manual/en/function.mcrypt-decrypt.php