<分区>
我想使用低级别的 session 。如何在 node.js 中生成 session ID?
<分区>
我想使用低级别的 session 。如何在 node.js 中生成 session ID?
最佳答案
不清楚您要实现的目标,但是... session ID 只是一个 ID!你可以随心所欲地生成它。除了唯一性之外没有其他要求。让它安全是个好主意。例如,此函数可能是您的 session ID 生成器:
var crypto = require('crypto');
var generate_key = function() {
// 16 bytes is likely to be more than enough,
// but you may tweak it to your needs
return crypto.randomBytes(16).toString('base64');
};
您调用 generate_key()
并检查它是否存在于数据库中。如果是,您会再次调用它,依此类推。
编辑:让我解决评论:
Math.random()
并且有人担心这不是加密安全的。虽然这是真的,但我没有看到 OP 要求加密安全解决方案。据我们所知,他可能不需要它,毕竟我们不知道他正在处理什么样的 session 。最终我决定改变它,因为加密解决方案更安全并且(大多数时候)它没有任何缺点。关于node.js - 如何在 node.js 中生成 session ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18078711/
相关文章:
javascript - 从服务器端将属性绑定(bind)到套接字对象似乎无法正常工作
node.js - 表单 save mongoose 上随机生成 id
php - 即使浏览器关闭,CodeIgniter 如何保留 session 数据?
java - 使用 Java session 进行登录/注销
mysql - session.createCriteria(type) 正在查询小写的表名
mysql - 类型错误 : Cannot read property 'filename' of undefined--multer
Node.js socket.io-client connect_failed/connect_error 事件