首页 > 解决方案 > 如何修复 tsr-detect-possible-timing-attacks 潜在的定时攻击

问题描述

我有这样的代码:

if (!confirmPassword) {
  errors.confirmPassword = DefaultValidateErrors.confirmPassword;
} else if (password && password !== confirmPassword) {
  errors.confirmPassword = DefaultValidateErrors.confirmPasswordMatch;
}

tslint 已将此标记为 tsr-detect-possible-timing-attacks,这听起来是正确的,但我该如何解决。

标签: javascripttypescripttslint

解决方案


如果您在节点和版本 v6.6.0+ 中,那么您可以使用crypto模块的timingSafeEqual.

const crypto = require('crypto');
const isValid = crypto.timingSafeEqual(Buffer.from(password), Buffer.from(confirmPassword));

节点加密文档


推荐阅读