그래서 일부 PIN 코드/암호 해시에 대한 단위 테스트를 만들려고합니다. 나는이 에러를 조기에 우연히 만났지만, 간단히 .toString()
으로 해결할 수 있었지만, 지금은 효과가없는 것 같습니다. 이것은암호 작성기 TypeError : 첫 번째 인수는 문자열이어야합니다.
방법에 관한 내 코드의 일부 :
pin.model.spec.js :
let pin = Math.floor(1000 + Math.random() * 9000);
let hash = await Pincode.getHashedPincode(pin.toString(), salt);
crypto.js 다음 일관성이 약
function getPasswordHash(password, salt) {
return new Promise((resolve, reject) => {
crypto.pbkdf2(password, new Buffer(salt, 'hex'), iterations, keyLength, 'SHA1', (err, result) => {
if (err) {
return reject(err);
}
return resolve(result.toString('hex'));
});
});
}
그나마 걱정 메서드 이름 사이에는 getHashedPincode
이라는 메서드가 있지만 아무것도 수행하지 않지만 명명 규칙은 getPasswordHash
입니다. vars iterations
및 keyLength
은 상수 파일에서 가져온 것입니다. 그래서 그 것도 문제가 아닙니다. 이것은 전체 getHashPincode
입니다
:
나는 누군가가 올바른 방향으로편집에 저를 이끌 수 있기를 바랍니다 pin.toString()
아무 문제가 없습니다
Pincode.getHashedPincode = async (pincode, salt) => {
return cryptographer.getPasswordHash(pincode, salt);
};
우리는'getHashedPincode'를 보여줄 수 있습니까? – taha
나는 포스트를 편집했다 – Bas