请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

客户端加密出来的sign和服务端加密出来的不一样

客户端:

https://img1.sycdn.imooc.com//szimg/5b74f3c00001e03206910044.jpg

服务端:

public function testAes() {

        $data = [

            'did' => '865124038845576',

            'time' => Time::get13TimeStamp()

        ];

        

        echo IAuth::setSign($data);die;

    }  RlVbYPs1rOtLH69VFis+nFh3RzE0UnBIRzhyZURjTHhGQjByR1kzeXppNU5abE95NklnRXFPNU9yUjRSa2NHOVpDc1B1d29iTllqbDVrQ1k=

正在回答 回答被采纳积分+3

1回答

singwa 2018-08-16 12:12:35

客户端和服务器端的算法一样吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 嗨皮田酱 #1
    哦,我看了下,我本地安装的是php7.1,然后下载的服务端代码是mcrypt_decrypt,然后不能用,我本地之前的解密代码是群里下的:
    public function encrypt($input = '') {
            if(config('app_debug')) {
                $iv=substr($this->key,0,16);
            }else{
                $iv=openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
            }
            $data=openssl_encrypt($input, "aes-256-cbc", $this->key, 0, $iv);
            return base64_encode($iv.$data);
        }
    
        /**
         * 解密
         * @param String input 解密的字符串
         * @param String key   解密的key
         * @return String
         */
        public function decrypt($input) {
            $input=base64_decode($input);
            $iv=substr($input,0,16);
            $data=substr($input,16);
            $return=openssl_decrypt($data, "aes-256-cbc", $this->key, 0, $iv);
            return $return;
        }
    我再看看吧先
    回复 有任何疑惑可以回复我~ 2018-08-16 14:27:00
  • 提问者 嗨皮田酱 #2
    客户端貌似没有用到这个iv向量啊,我在 cipher.init(Cipher.ENCRYPT_MODE, key, password.getBites());运行不成功
    回复 有任何疑惑可以回复我~ 2018-08-16 15:35:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信