我正在查看此页面,了解如何在平台上验证SHA1实现:http://csrc.nist.gov/groups/STM/cavp/secure-hashing.html#sha-1
所以我打开文件并查看测试值:https://pastebin.com/SL4WaAtM它有数千行,但这是开始(面向BIT的实现)。
我专注于第一个值:
_http_outgoing.js:371 throw new Error('Can\'t set headers after they are sent.');
我的理解是,有一条消息,openssl会获得MD,但是我没有得到与上面相同的MD?
router.post('/send', function(req, res, next) {
var currentUser=req.body.currentUserAddress
var reciever= req.body.Addressedestinataire;
var amount = req.body.somme;
var data=[{"Spalte":amount}];
var s =JSON.stringify(data[0].Spalte);
var valueToken = JSON.parse(s);
mytoken.transfer.sendTransaction(currentUser,reciever,amount,{from :web3.eth.accounts[0],gas:5000000},function (error, result)
{
if(result)
{
let event = mytoken.Transfer();
event.watch(function(err, response)
{
if (err) {
console.log ("Error="+ err);
}
if (!err) {
let addressEvent= response.address;
let addressTo=response.args.to;
let addressFrom =response.args.from;
Transaction={addressFrom,addressTo,amount,date}
db.open(function(err, db) {
let collection = db.collection("Transaction");
collection.insertOne(Transaction, function(err, result1) {assert.equal(null, err);});
db.close();
});
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({addressEvent,addressFrom,addressTo,amount}));
}
});
}
else{
console.log(error);
}
});
});
关于我做错什么的任何想法?。其他值也不匹配。
答案 0 :(得分:3)
您错误地解释了数据。 Len
是消息中位的数量。通过在命令行上与openssl交互,您(据我所知)仅限于使用整个字节。
因此,例如Len = 2
和M = 40
意味着您应该对0x40
(= 01
)的前两位进行哈希处理而不是整个字节({{1} })。在命令行中,我不认为可以使用长度不超过8位的比特流来提供openssl,因此您必须直接与ssl接口。库代码,如果你想这样做。
但是,您可以测试长度为8位的倍数的位模式:
01000000