rsa - openssl_private_decrypt tidak berkuat kuasa dalam typecho Login.php
漂亮男人
漂亮男人 2017-05-16 13:14:27
0
1
4908

Saya pada asasnya tidak tahu PHP dan hanya tahu Java Saya mahu menambah penyulitan rsa semasa menghantar borang dalam typecho Penyulitan bahagian hadapan tidak menjadi masalah, tetapi selepas data dihantar ke latar belakang, openssl_private_decrypt tidak berkuat kuasa. atau nyahsulit. Ia tidak berfungsi apabila menjalankan demo sahaja Soalan, sebahagian daripada kod Login.php (selepas pengubahsuaian) adalah seperti berikut:

security->protect(); /** 如果已经登录 */ if ($this->user->hasLogin()) { /** 直接返回 */ $this->response->redirect($this->options->index); } /** 初始化验证类 */ $validator = new Typecho_Validate(); $validator->addRule('name', 'required', _t('请输入用户名')); $validator->addRule('password', 'required', _t('请输入密码')); /** 截获验证异常 */ if ($error = $validator->run($this->request->from('name', 'password'))) { Typecho_Cookie::set('__typecho_remember_name', $this->request->name); /** 设置提示信息 */ $this->widget('Widget_Notice')->set($error); $this->response->goBack(); } /** 解密账户密码 **/ $OriginalName = $this->request->name; $OriginalPassword = $this->request->password; // 私钥是放在服务器端的,用以验证和解密客户端经过公钥加密后的信息 $private_key = '-----BEGIN RSA PRIVATE KEY----- (密匙内容) -----END RSA PRIVATE KEY-----'; $pi_key = openssl_pkey_get_private($private_key);//这个函数可用来判断私钥是否是可用的,可用返回资源id Resource id //$pu_key = openssl_pkey_get_public($public_key);//这个函数可用来判断公钥是否是可用的 $decryptName = ""; $decryptPassword = ""; openssl_private_decrypt(base64_decode(base64_encode($OriginalName)),$decryptName,$pi_key);//私钥解密 openssl_private_decrypt(base64_decode($OriginalPassword),$decryptPassword,$pi_key);//私钥解密

Nama pengguna dan kata laluan tersedia dan telah disahkan. Dalam demo, rentetan yang dinyahsulit dinyahsulit secara normal dalam PHP demo, tetapi kod umum tidak berkuat kuasa apabila dialihkan ke typecho Apakah sebabnya dan bagaimana untuk menyelesaikannya.
Persekitaran operasi: Saya telah mencubanya dalam persekitaran menang dan mesin maya centos lnmp. Mencuba php 5.6-7.

Di luar topik: Walaupun pada asasnya tiada siapa yang akan menggodam blog saya, dan ulang tayang tidak boleh dihentikan, ia hanyalah satu lambungan.

漂亮男人
漂亮男人

membalas semua (1)
曾经蜡笔没有小新

Ini masalah$private_keyApabila menampal, saya juga menampal maklumat ruang di hadapannya Selepas melakukannya semula, ia boleh dinyahsulit secara normal.

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!