久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Mcrypt js 加密值與 PHP 生成的不同 mcrypt/Mcrypt JS 解

Mcrypt js encryption value is different than that produced by PHP mcrypt / Mcrypt JS decrypt doesn#39;t work for UTF-8 chars(Mcrypt js 加密值與 PHP 生成的不同 mcrypt/Mcrypt JS 解密不適用于 UTF-8 字符) - IT屋-程序員軟件開
本文介紹了Mcrypt js 加密值與 PHP 生成的不同 mcrypt/Mcrypt JS 解密不適用于 UTF-8 字符的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我一直在嘗試在服務器端、PHP 和客戶端上實現 mcrypt 加密/解密技術.我正在嘗試使用 mcrypt.js 庫作為:

I have been trying to implement mcrypt encryption/ decryption technique on both server end, PHP and client end. I am trying to use mcrypt.js library at the moment as:

<?php 
$key = 'testtesttesttesttesttesttesttest';

function string_encrypt($string, $key) {
    $crypted_text = mcrypt_encrypt(
                        MCRYPT_RIJNDAEL_128, 
                        $key, 
                        $string, 
                        MCRYPT_MODE_ECB
                    );
    return base64_encode($crypted_text);
}

function string_decrypt($encrypted_string, $key) {
    $decrypted_text = mcrypt_decrypt(
                        MCRYPT_RIJNDAEL_128, 
                        $key, 
                        base64_decode($encrypted_string), 
                        MCRYPT_MODE_ECB
                    );
    return trim($decrypted_text);
}

echo 'Provided Text:    '.$test_str = 'This is test message.';
echo '<br />';
echo 'Encyrpted Value:  '.$enc_str = string_encrypt($test_str, $key);   
echo '<br />';
echo 'Decrypted Value:  '.string_decrypt($enc_str, $key);                               
echo '<br />';
?>

<script src='rijndael.js'></script>
<script src='mcrypt.js'></script>
<script src='base64v1_0.js'></script>

<script lang='javascript'>
    var enc_str = mcrypt.Encrypt('<?php echo $test_str ?>','');
    enc_str = B64.encode(enc_str);
    alert(enc_str); 
    // I don't get this same as encypted PHP text. i.e. $enc_str
    var dec_str = B64.decode('<?php echo $enc_str ?>');
    alert(mcrypt.Decrypt(dec_str,'')); 
    // I don't get this same as decypted PHP text. 
    // i.e. string_decrypt($enc_str)
</script>

我在 mcrypt.js 庫中使用了以下這些私有變量.

I have used these following private vars at the mcrypt.js library.

 var cMode='ecb';
 var cCipher='rijndael-256';
 var cKey='testtesttesttesttesttesttesttest'; 
 //I am providing the same key

正如我上面評論的,為什么 enc_str 不等于 $enc_str 以及為什么它是 mcrypt.Decrypt('<?php echo $enc_str?>', '') 不等于 string_decrypt($enc_str, $key) ?

As I commented above, why is it enc_str not equal as $enc_str and why is it mcrypt.Decrypt('<?php echo $enc_str ?>', '') not equal as string_decrypt($enc_str, $key) ?

更新的問題:

我嘗試了 base64 編碼/解碼甚至 hex2bin/bin2hex 來解析這些字符串,但這兩個產生了以下結果:

I tried both base64 encode/ decode and even hex2bin/ bin2hex to parse those strings but these two produced following results:

使用 Hex2bin/Bin2hex

PHP 結果:

Provided Text: This is test message.
Encyrpted Value: a51e970427ec8f666a5684cc1712ad03b29889cc10f4ccbf55733564d11c0386
Decrypted Value: This is test message.

JS 結果:

Provided Text:This is test message.
Mcrypted value:¥'ìfjVì-2ì?ì?Us5d?
Encyrpted Value:a51e970427ec8f666a5684cc1712ad03b29889cc10f4ccbf55733564d11c0386
After Hex to Bin Text:¥'ìfjVì-2ì?ì?Us5d?
Decrypted Value:This is test message.???????????
/*These diamond with question mark is produced while decypting the value.*/

<小時>

使用 Base64 編碼/解碼:

PHP 結果:

Provided Text: This is test message.
Mcrypt encrypted value : ¥—'ìfjV?ì-2?‰ì?ì?Us5d??
/*
 Here mcrypted value provided by JS and PHP is different
 That is causing to produce different value at two ends
*/
Encyrpted Value: pR6XBCfsj2ZqVoTMFxKtA7KYicwQ9My/VXM1ZNEcA4Y=
Decrypted Value: This is test message.

JS 結果:

Provided Text:This is test message.
Mcrypted value:¥'ìfjVì-2ì?ì?Us5d?
Encyrpted Value:wqUewpcEJ8Oswo9malbChMOMFxLCrQPCssKYwonDjBDDtMOMwr9VczVkw5EcA8KG
After Base64 Decode:¥'ìfjVì-2ì?ì?Us5d????
Decrypted Value:This is test message.???????????bFaêF?+Jéó!??

并且在這兩種情況下,UTf-8 內容都無法在 JS 端解密.

And on both cases, UTf-8 content can not be decrypted on JS end.

*鏈接:*

Mcrypt JS 庫

Base64 JS 庫

推薦答案

主要問題似乎是您的 string_encryptstring_decrypt PHP 函數無法訪問$key 變量,因此對于加密密鑰 mcrypt_encrypt 使用

主站蜘蛛池模板: 国产色婷婷精品综合在线播放 | 99精品视频在线 | 91在线视频免费观看 | 中文字幕视频在线 | 精品美女在线观看视频在线观看 | 99久久日韩精品免费热麻豆美女 | 一区视频| 欧美一区2区三区3区公司 | 九九热在线免费观看 | 日本精品一区二区 | 啪一啪 | 精品久久久久久久久久久 | 免费观看一级毛片 | 久久久久国产精品 | 久久国产免费看 | 国产色在线 | 性欧美xxxx | 丁香久久 | 欧美日韩黄| 亚洲欧美中文日韩在线v日本 | 国产欧美一区二区三区在线看蜜臀 | 国产欧美一区二区三区另类精品 | 国产精品伦一区二区三级视频 | 国产福利视频导航 | 国内毛片毛片毛片毛片 | 日韩视频一区二区在线 | 国产综合一区二区 | 中文字幕亚洲视频 | 亚洲视频免费 | 日本一区二区三区四区 | 国产99免费| 欲色av | 欧美一级精品片在线看 | 日本在线视频中文字幕 | 一区二区视频 | 青春草在线 | 一区二区日韩精品 | 国产精品久久久久久久久久久久久 | 不卡在线视频 | 成人午夜视频在线观看 | 成年网站在线观看 |