我有以下加密数据:
U2FsdGVkX1+21O5RB08bavFTq7Yq/gChmXrO3f00tvJaT55A5pPvqw0zFVnHSW1o
解密它的传递是: password
(这是来自胡言乱语的例子)
在使用openssl的命令行中:
echo "U2FsdGVkX1+21O5RB08bavFTq7Yq/gChmXrO3f00tvJaT55A5pPvqw0zFVnHSW1o" | openssl enc -d -aes-256-cbc -a -k password
输出是:
Made with Gibberish\n
使用我的NodeJS应用程序:
var decipher = crypto.createDecipher('aes-256-cbc', "password");
var dec = decipher.update("U2FsdGVkX1+21O5RB08bavFTq7Yq/gChmXrO3f00tvJaT55A5pPvqw0zFVnHSW1o",
'base64', 'utf8');
dec += decipher.final('utf8');
Run Code Online (Sandbox Code Playgroud)
我TypeError: DecipherFinal fail在这decipher.final行有以下错误.
我错过了什么吗?谢谢.
我遇到了导入php文件的问题.
为什么这样有效:
include( Yii::getPathOfAlias( 'ext.payu.payU').'.php' );
Run Code Online (Sandbox Code Playgroud)
但那不是:
Yii::import( 'ext.payu.payU');
Run Code Online (Sandbox Code Playgroud)
?
文件payU.php:
include_once( dirname(__FILE__) . "/sdk/openpayu.php"); //this is a valid path
class payU{ }
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Backbone.js模型保存到我的Yii Web应用程序但是我收到"CSRF令牌无法验证"响应,即使模型是序列化表单并且我使用Backbone.sync来设置标头.
模型(表单中包含CSRF令牌并将其作为"YII_CSRF_TOKEN"属性发送):
var v = new ModelName ($('.formclass').serializeJSON());
Run Code Online (Sandbox Code Playgroud)
JSON序列化器:
//form.serializeJSON
(function( $ ){
$.fn.serializeJSON=function() {
var json = {};
jQuery.map($(this).serializeArray(), function(n, i){
json[n['name']] = n['value'];
});
return json;
};
})( jQuery );
Run Code Online (Sandbox Code Playgroud)
backbone.sync:
Backbone.old_sync = Backbone.sync;
Backbone.sync = function(method, model, options) {
var new_options = _.extend({
beforeSend: function(xhr) {
console.log('backbone sync');
var token = model.get('X_CSRF_TOKEN');
console.log('token ='+token)
if (token) xhr.setRequestHeader('YII_CSRF_TOKEN', token);
}
}, options)
Backbone.old_sync(method, model, new_options);
};
Run Code Online (Sandbox Code Playgroud)
我也尝试将标题设置为'X_CSRF_TOKEN',但无济于事.
yii ×2
aes ×1
autoload ×1
backbone.js ×1
cryptography ×1
csrf ×1
include ×1
node.js ×1
openssl ×1
post ×1