- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在为 Node 项目编写一个 javascript 模块。
我收到一个非常模糊的错误
protocol\Parser.js:82
throw err;
TypeError: error:0000000:lib(0):func(0):reason(0)
at Decipher.Cipher.update (crypto.js:279:27)
下面是我的 javalogin.js 文件。该错误似乎发生在 decipher.update(rows[i].CC, 'hex', 'utf8');
行。
我确实得到了一些控制台打印出来。
console.log('DB UserName:', rows[i].UserName); //returns correct username
console.log('DB CC: ', rows[i].CC); //returns 2bf9kdk02kdnf3dk (correct CC hash on db)
JavaLogin.js:
var mysql = require('mysql');
var crypto = require('crypto');
var sha = require('sha1');
var algorithm = 'aes256'; // or any other algorithm supported by OpenSSL
var key = 'secret';
var cipher = crypto.createCipher(algorithm, key);
var decipher = crypto.createDecipher(algorithm, key);
decipher.setAutoPadding(auto_padding=true);
var db = mysql.createConnection(
{
host : 'host location',
user : 'username',
password : 'password',
database : 'databaseName',
}
);
exports.auth = function(query, callback){
db.query(query, function(err, rows, fields) {
if (err) throw err;
for (var i in rows) {
console.log('DB UserName:', rows[i].UserName);
console.log('DB CC: ', rows[i].CC);
var decrypted = decipher.update(rows[i].CC, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted);
}
var info = rows;
return callback(null,info);
});
};
exports.add = function(query, callback){
db.query(query, function(err, rows, fields) {
var encrypted = cipher.update('ccnumber', 'utf8', 'hex');
encrypted += cipher.final('hex');
if (err) throw err;
// for (var i in rows) {
// console.log('DB Info:', rows[i].UserName);
// }
var info = rows;
return callback(null,info);
});
};
最佳答案
感谢评论中提供的小而有用的帮助。我就是因为这个才明白的。
在原始帖子中,我试图将 var decipher = crypto.createDecipher(algorithm,key);
设置为全局变量,以便我可以在 JavaLogin.js 中的多个函数中使用它。
如果有人能告诉我如何做到这一点,我将不胜感激。
下面的工作代码部分:
exports.auth = function(query, callback){
db.query(query, function(err, rows, fields) {
if (err) throw err;
for (var i in rows) {
console.log('DB UserName:', rows[i].UserName);
console.log('DB CC: ', rows[i].CC);
var decipher = crypto.createDecipher(algorithm, key); //moved this from the top of the file
var decrypted = decipher.update(rows[i].CC, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log("decrypted:" + decrypted);
}
var info = rows;
return callback(null,info);
});
};
关于node.js - decipher.update 上出现加密错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852328/
我正在为 Node 项目编写一个 javascript 模块。 我收到一个非常模糊的错误 protocol\Parser.js:82 throw err; TypeError: error:
我试图了解导航栏是如何在 magento 中形成的,并在 topmenu.phtml 中遇到了我无法弄清楚的这一行。 getHtml('level-top') ?> 我知道如何调用子 block ,但
我很难理解这个表达式: [[NSRegularExpression regularExpressionWithPattern:@"^([^:]+?):([^:]+?):([^:]+?):(.*)$"
代码如下: var kk = JSON.stringify(object); console.log(kk); var kk1 = encrypt(kk); conso
我正在尝试解密文件并将其作为对客户端的响应发送。它只适用于下载文件,如下所示: input.pipe(res); 但是当我将解密添加到管道中时,如下所示: input.pipe(decipher).p
我正在尝试加密/解密。加密工作正常,它将加密数据写入文件。解密时出现长度错误问题。我使用了“utf-8”格式,但错误仍然存在。 / A decrypt function function decr
我是一名优秀的程序员,十分优秀!