密码学与SSH远程管理:原理、实践与安全
1. 密码学基础操作
1.1 字符串保存与密码哈希
在保存字符串时,要注意其可能包含换行符,这可能影响保存位置。若有需要,可将其转换为Base64编码。当用户创建或修改密码时,需先对密码进行哈希处理再存储,可通过上下文的 hash 方法实现。
# 示例:密码哈希
res = ctx.hash("good password")
登录时,首先从存储中获取哈希值,获取哈希值并得到用户输入的密码后,需检查两者是否匹配,若哈希使用的是已弃用的协议,可能还需更新哈希值。
# 示例:验证并更新哈希
ctx.verify_and_update("good password", res)
# 输出:(True, None)
若第二个元素为 True ,则需用结果更新哈希值。不建议指定特定的哈希算法,应信任上下文的默认设置,但可强制上下文使用弱算法进行哈希,以展示更新操作。
# 示例:使用弱算法进行哈希
res = ctx.hash("good password", scheme="md5_crypt")
ctx.verify_and_update("good password", res)
# 输出:(True, '$5$...')
此时,需将第二个元素存储到
超级会员免费看
订阅专栏 解锁全文
52

被折叠的 条评论
为什么被折叠?



