在javascript中加密数据并在php中解密

时间:2016-06-24 05:41:17

标签: javascript php google-chrome-extension

我有使用crossrider开发的浏览器扩展。从这个扩展我需要将一些数据发送到服务器。但在发送数据之前,我需要加密并将其发送到服务器。我需要在服务器端解密这些数据并存储到数据库中。我试过用Cryptojs加密和解密方法来实现这一点。但是解密存在一些问题,有时解密结果为空。有时它会得到确切的结果。我不确定为什么它会向扩展返回null结果。 使用邮递员REST API客户端时,结果正是如此。 null值返回问题仅限扩展名。

extension.js

appAPI.ready(function($) {
appAPI.resources.includeJS('aes.js');
appAPI.resources.includeJS('jquery.js');
appAPI.resources.includeJS('aes-json-format.js');


$(document).on('click','#submit', function() {

    var word = $('#val').val();
    var passphrase = "EncryptionKey";
    var encrypt_message = CryptoJS.AES.encrypt(JSON.stringify(word), passphrase, {format: CryptoJSAesJson}).toString();
    $('#client_result').val(encrypt_message);
    appAPI.message.toBackground({action:"encrypt",word:encrypt_message});
});


appAPI.message.addListener(function(msg) {
    switch(msg.action) {
        case 'server_result':
                 $('#server_result').val(msg.result);
            break;
    } //end switch
}); //end listener

});

background.js

appAPI.ready(function($) {

appAPI.openURL({ resourcePath: "test.html", where: "tab"});

appAPI.message.addListener(function(msg) {


    switch (msg.action) {

        case "encrypt":
                       var u="URL to the server";
                       var data = {message:msg.word};

                       appAPI.request.post({
                            url:u,postData:data,
                            onSuccess:function(res){
                                try{
                                    var datas=jQuery.parseJSON(res);
                                    alert(datas.result);
                                    appAPI.message.toActiveTab({
                                        action      : 'server_result',
                                        result      : datas.result
                                    });



                                }catch(err) {
                                    alert("JSON parsing Failed"+err);
                                }
                            },
                            onFailure:function(httpCode) {
                                alert("failure: " + httpCode);
                            },
                            contentType:'application/x-www-form-urlencoded'
                    }); //end request post

            break;

    } 
}); 

});    

要获取javascript和PHP库,请查看以下链接:https://github.com/brainfoolong/cryptojs-aes-php 任何帮助将不胜感激。

0 个答案:

没有答案