微信开发之密文模式 mcrypt_module_open 走不过

按照官方提供的解密源码;

数据库记录死在:

$ciphertext_dec = base64_decode($encrypted);

            $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');

            $iv = substr($this->key, 0, 16);

            mcrypt_generic_init($module, $this->key, $iv);



//解密

            $decrypted = mdecrypt_generic($module, $ciphertext_dec);

            mcrypt_generic_deinit($module);

            mcrypt_module_close($module);

 

linux php.ini 加

extension=mcrypt.so
windows php.ini
extension=mcrypt.dll  

 

转载于:https://www.cnblogs.com/bin-pureLife/p/4548899.html

微信的安全键盘加密通常涉及到AES(Advanced Encryption Standard)算法,它是一种常用的对称加密标准,用于数据的加密传输。然而,具体的微信安全键盘的密文解密步骤并没有官方公开,因为这是微信内部的一种安全机制。 如果你需要了解基本的AES解密过程,Java版本的大致步骤如下: 1. 导入必要的库:首先,你需要添加`javax.crypto.Cipher`和`java.security.KeyStore`等相关的Java加密API。 ```java import javax.crypto.Cipher; import java.security.Key; import java.security.spec.SecretKeySpec; ``` 2. 获取密钥:如果密文是通过微信安全键盘生成的,那么你应该已经有了对应的密钥。假设这个密钥存储在一个字符串变量`encryptedKey`中,需要先转化为 SecretKeySpec 对象: ```java String encryptedKeyStr = ...; // 微信提供的密钥字符串 byte[] keyBytes = Base64.decode(encryptedKeyStr); Key key = new SecretKeySpec(keyBytes, "AES"); ``` 3. 初始化 Cipher 对象:设置加密模式(如ECB、CBC等),并指定操作模式(ENCRYPT_MODE或DECRYPT_MODE): ```java Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, key); ``` 4. 加解密:对于密文(同样可能是Base64编码的),使用 `doFinal()` 函数进行解密: ```java String encryptedData = ...; // 得到的加密数据字符串 byte[] decryptedData = cipher.doFinal(Base64.decode(encryptedData)); String decryptedText = new String(decryptedData); ``` 注意:上述过程仅是一个基本示例,实际操作中还需要处理异常以及密钥管理和填充模式等问题,并且由于微信的具体加密细节未公开,上述代码可能并不适用于微信安全键盘的密文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值