我可以在 Dialogflow Node.js 中使用 SHA-224 加密吗?

Can I use the SHA-224 encryption in Dialogflow Node.js?

我正在尝试加密用户输入并与 dialogflow 中数据库中的加密字符串进行比较。

如何将加密包添加到 package.json 并让 SHA-224 在 index.js 中工作? 我试过我的代码,但没有任何反应。

Python 数据加密后比较代码:

import hashlib
import pandas as pd
strings = []

data = pd.read_csv("DBDATA.csv")
df = data[['ID']]

for index, row in df.iterrows():
    b = row["ID"].encode('utf-8')
    print(b)
    hashed = hashlib.sha224(b).hexdigest()
    strings.append(hashed)
data["NUMBER"] = strings

Javascript 加密用户输入的代码:

  const crypto = require('crypto');

  var hash = crypto.createHash('sha224');
  var string = agent.parameters.adminnumber;
  var hashedString = hash.update(string, 'utf-8');
  var gen_hash= hashedString.digest('hex');

Package.json

"dependencies": {
    "crypto": "4.0.0"
  }

Dialogflow Nodejs

该代码对我来说效果很好(使用硬编码的“字符串”var)。也许你没有看到任何东西,因为你没有记录结果。

记住使用 npm install crypto --save 命令安装 crypto 包,或者如果 package.json 文件中已经存在相关性,则仅 npm install 安装。

const crypto = require('crypto');

const hash = crypto.createHash('sha224');
const string = "Test SHA-224 crypto.";
const hashedString = hash.update(string, 'utf-8');
const gen_hash= hashedString.digest('hex');

console.log(gen_hash); // Trace the result

注:var关键词让小耶稣哭泣