android - 加密包问题数据必须是使用加密的字符串或缓冲区
问题描述
TypeError: Data must be a string or a buffer
at Hmac.update (crypto.js:99:16)
at sha512 (/home/tomasomalley/deferProjects/FinalYearAppliedProjectGMIT/quiz-backend/src/index.js:20:10)
以上是我试图创建用户密码哈希的包中的错误
var crypto = require('crypto');
// Password Ulitlities
// Function creates random salt for password
var genRandomString = function(length){
return crypto.randomBytes(Math.ceil(length/2))
.toString('hex')
.slice(0,length);
};
var sha512 = function(password,salt) {
var hash = crypto.createHmac('sha512',salt);
hash.update(password);
var value = hash.digest('hex');
return {
salt:salt,
passwordHash:value
};
};
function saltHashPassword(userPassword)
{
var salt = genRandomString(16);
var passwordData = sha512(userPassword,salt);
return passwordData;
}
function checkHashPassword(userPassword,salt)
{
var passwordData = sha512(userPassword,salt);
return passwordData;
}
上面是 index.js 代码。我尝试了 crpyto 的 npm 更新,但问题仍然存在,任何帮助
解决方案
推荐阅读
- virtual-machine - 我们可以使用 libvert 单步 QEMU
- javascript - 时刻获取时间段 AM//PM 本地化
- .net - 如何为 .NET Standard 创建“NuGet 包管理项目”?
- ruby-on-rails - Rails:收集连接表出现在两个查询中的记录
- django - Django Cryptographic "signing.loads(value)" 给 None 相同的 SECRET_KEY
- google-cloud-run - GKE 上 Cloud Run 上的 Websocket 请求错误
- sql - SQL 到 SSAS 计算脚本
- android - 如何在 Kotlin 的卡片视图中设置属性
- python - 使用 PIL(LOW) 绘制重叠的轮廓文本
- c# - 无法在 Excel 单元格中输入“空”文本