大佬教程收集整理的这篇文章主要介绍了node.js – TypeError:Key必须是新Hmac的缓冲区(crypto.js:91:16),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); // server port is 3000 let port = 3000; // use bodyParser.json and urlencoded app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true,})); // use api/v1,require routes/app.js app.use('/api/v1',require('./routes/app.js')(express)); exports.server = app.listen(port,() => { console.log('Server active on port',port); });
app.js
// require url shortener const shurl = require('../modules/shurl'); module.exports = (express) => { const router = express.Router(); router.get('/status',(req,res) => { res.json({ healthy: true,}) }); router.post('/urls',res) => { res.send(shurl(req,res)); }); return router; }
shurl.js
const crypto = require('crypto'); module.exports = (url,res) => { // set the shortened url prefix let prefix = 'shurl.io/'; // get the url data let hashUrl = url.body.url; // create the hash let hash = crypto.createHmac('sha256',hashUrl).digest('hex'); // shorten the hash length to 7 hashUrl = hash.substr(0,7); // create the shortened url let shortened = prefix + hashUrl; // send the shortened url res.json({shortUrl: shortUrl}); }
错误:
TypeError: Key must be a buffer at new Hmac (crypto.js:91:16) at Object.Hmac (crypto.js:89:12) at module.exports (C:\xampp\htdocs\url-shortener\src\modules\shurl.js:16:21) at router.post (C:\xampp\htdocs\url-shortener\src\routes\app.js:21:16) at Layer.handle [as handle_request] (C:\xampp\htdocs\url-shortener\node_modules\express\lib\router\layer.js:95:5) at next (C:\xampp\htdocs\url-shortener\node_modules\express\lib\router\route.js:131:13) at Route.dispatch (C:\xampp\htdocs\url-shortener\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\xampp\htdocs\url-shortener\node_modules\express\lib\router\layer.js:95:5) at C:\xampp\htdocs\url-shortener\node_modules\express\lib\router\index.js:277:22 at Function.process_params (C:\xampp\htdocs\url-shortener\node_modules\express\lib\router\index.js:330:12)
究竟是什么导致了这个错误,是否有人知道修复?当我尝试POST以创建缩短的URL @ 127.0.0.1:3000/api/v1/urls时出现此错误
以上是大佬教程为你收集整理的node.js – TypeError:Key必须是新Hmac的缓冲区(crypto.js:91:16)全部内容,希望文章能够帮你解决node.js – TypeError:Key必须是新Hmac的缓冲区(crypto.js:91:16)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。