小编jfj*_*don的帖子

mongodb:限制数字字段的可能值

我想限制mongo中字段的选择:

units : { type: Number, default: 1 },
Run Code Online (Sandbox Code Playgroud)

但我想添加这个约束:类似的东西

授权值:[1,10,100,1000]

mongoose mongodb

2
推荐指数
1
解决办法
920
查看次数

如何使用node.js,express和ejs在字符串中传递html标签

我使用带有Express和EJS的Node.js,我希望将字符串中的html标签传递给浏览器,如下所示:

listRequests.forEach(function(key) {
    messages.push("You have a message from <b>" + key.username + "</b>");
});
Run Code Online (Sandbox Code Playgroud)

稍后在我的代码中:

res.render('/wallets', {
              messages     : messages,
              ...
           });
Run Code Online (Sandbox Code Playgroud)

在我的html模板中,我有类似的东西

<h2>Messages</h2>
<% messages.forEach(function(message) { %>
<p><%= message %></p>
<% }); %>
Run Code Online (Sandbox Code Playgroud)

问题是:浏览器显示带有标签的文本,<b>John</b>而不是John

javascript ejs node.js express

2
推荐指数
1
解决办法
2104
查看次数

如何在 Node.js 中将 HMAC 密钥和消息指定为十六进制

我在node.js中有这段代码:

crypto = require('crypto');

secret  = 'e8f32e723decf4051aefac8e2c93c9c5b214313817cdb01a1494b917c8436b35';
secret2 = 'E8F32E723DECF4051AEFAC8E2C93C9C5B214313817CDB01A1494B917C8436B35';  // upper case

theString  = "800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D";  // upper case
theString2 = "800c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d";  

hmac = crypto.createHmac('sha512', secret)
             .update(theString, 'hex')
             .digest('hex');

console.log("HMAC : " + hmac);
Run Code Online (Sandbox Code Playgroud)

与秘密和字符串

HMAC = 588cf3e244ae6a6fa3db9761a32f715dc50e080b1b427229654af67e453c3f0d6456975095e32e3c8e68af386e19cb1ef3c1d8b546a8af0279be2fe43bf91c08
Run Code Online (Sandbox Code Playgroud)

使用 Secret 和 theString2

HMAC = 588cf3e244ae6a6fa3db9761a32f715dc50e080b1b427229654af67e453c3f0d6456975095e32e3c8e68af386e19cb1ef3c1d8b546a8af0279be2fe43bf91c08
Run Code Online (Sandbox Code Playgroud)

hmac 是相同的 => theString 被解释为十六进制

使用 Secret2 和 theString

HMAC = 1cc29c3b964ac964a960e3d9b82b9db6b4df3cc3675d60e25fdd9dee64672a9ce2dfa86afb25c8684416f88b47f6e16981029574fcc144e4be05114e2c059e23
Run Code Online (Sandbox Code Playgroud)

hmac 不同 => Secret 被解释为字符串(ASCII 或 unicode...)

问题:有没有办法将秘密指定为十六进制?

cryptography hmac node.js

0
推荐指数
1
解决办法
1856
查看次数

标签 统计

node.js ×2

cryptography ×1

ejs ×1

express ×1

hmac ×1

javascript ×1

mongodb ×1

mongoose ×1