Tag: rijndael

解密C#RIJNDAEL编码文本

我正在Java中实现与第三方应用程序的通信。 作为登录过程的一部分,第三方应用程序正在发送加密的字符串,我必须将其解码并发回。 我花了差不多2天googeling和阅读post,但我找不到正确的方法来实现这一点。 我有一个测试用例,其中加密的字符串是“c1W2YO1vYQzu6czteEidrG0U4g5gT4h57vAlP7tdjcY =”,用密码“GAT”解密必须返回“101714994”。 我所说的文档说明:授权字符串使用以下设置加密: 填充输入数据:PKCS * 7 密码字节数组长度为32个字节。 密码字符串转换为UTF-16编码的字节数组,然后用零填充字节数组,最长为32个字节。 更长的密码被截断。 这是如何解密授权字符串的C#示例: /// /// Decrypts a string. /// /// The string to decrypt. /// The password to use. /// The decrypted string. private static string DecryptString(string content, string password) { Rijndael aes; byte[] retVal = null; byte[] contentBytes; byte[] passwordBytes; byte[] ivBytes; try { […]

将PHP Rijndael算法重写为Java(Android)

我需要在Java和php中编码一个字符串,其结果必须相同。 给出以下条件: 算法:RIJNDAEL-128 键:5P443m2Q1R9A7f5r3e1z08642 模式:ECB 初始化向量:N / A(因为我们使用的是ECB,所以忽略了IV) String to encode: 201412181656005P443m2Q1R9A7f5r3e1z08642 PHP securekey = $textkey; $this->iv = mcrypt_create_iv(32); } function encryptR($input) { $enc = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $this->securekey, $input, MCRYPT_MODE_ECB, $this->iv); return base64_encode($enc); } function decryptR($input) { return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->securekey, base64_decode($input), MCRYPT_MODE_ECB, $this->iv)); } } $raw_text = ‘201412181656005P443m2Q1R9A7f5r3e1z08642’; $secretKey = ‘5P443m2Q1R9A7f5r3e1z08642’; $cipher = new Cipher($secretKey); $encrypted […]

Rijndael在Java中的支持

我们需要在Java中进行一些Rijndael开发。 对文章,图书馆等有什么建议可以帮助我们吗? 任何指向密钥库维护的指针以及如何安全地存储密钥? 编辑: 它需要是开源的。 从本质上讲,它只是使用Rijndael对数据进行标准加密/解密。