关于密码加密

文章讨论了为何在存储密码时不应使用可逆的加密算法,而应选择像MD5或SHA家族这样的消息摘要算法。这些不可逆的哈希函数用于将密码编码为固定长度的密文,增强了安全性。尽管可能存在碰撞和暴力破解的风险,但通过设置强密码和增加密码长度,可以显著提高破解的难度。网络上的反查式破解受限于可用数据量,对于长且复杂的密码,其效率极低。
摘要由CSDN通过智能技术生成

用户的密码必须经过算法进行编码(encode),然后将编码结果存储到数据库中,后续,当需要验证密码时,也使用同样的编码过程对用户后续提交的密码再次进行编码,并与此前存入到数据库的密码进行对比,以此判断用户的密码是否正确。

编码:可作为动词,将原始数据通过某种算法,运算得到另一个数据,即可称之为“编码”。

用户使用的原始密码通常称之为“原文”,或“明文”,经过编码后的结果称之为“密文”。

目前,主流的用于解决各种应用场景的算法都不需要单独设计,有许多成熟的算法可以直接使用,并且,这些算法都有非常简单的API。

对密码的原文进行编码时,不可以使用加密算法!这类算法都是可以逆向运算的,主要用于保障数据传输过程的安全,并不能保障存储下来的密码的安全!

推荐使用消息摘要算法或其它哈希算法,用于对密码的原文进行编码,这些算法都是不可逆向运算的,即使算法类型、运算参数、密文全部被泄露,也不可能被计算得到密码的原文。

常见的消息摘要算法有:

  • MD(Message Digest)系列:

  • MD2(128位算法)

  • MD4(128位算法)

  • MD5(128位算法)

  • SHA(Secure Hash Algorithm)家族:

  • SHA(SHA-1,160位算法)

  • SHA-256(256位算法)

  • SHA-384(384位算法)

  • SHA-512(512位算法)

消息摘要算法的主要特征有:

  • 使用同一种算法时,如果消息相同,摘要一定相同

  • 使用同一种算法时,无论消息多长,摘要长度是固定的

  • 使用同一种算法时,如果摘要不同,消息极大概率不会相同

  • 必然存在n种不同的消息,对应的摘要是完全相同的

以MD5算法为例,是128位算法,其运算结果有340282366920938463463374607431768211456种。

当然,如果算法类型、运算参数、密文全部被泄露,破解者仍可以通过穷举式的暴力破解来“试”出密码的原文!

为了进一步保障密码安全,应该要求用户使用安全强度更高的密码!

可通过键盘输入的大写字母、小写字母、数字、符号统称为“可打印字符”,共95种,如果用户使用6位长度的密码,如果用户使用6位长度的密码,将有约7350亿种不同的排列组合,则破解者最多需要运算7350亿次才可以保证100%的“试”出用户的原始密码,如果用户使用8位长度的密码,将有约6634万亿种不同的排列组合,所以,使用安全强度更高的密码,可以明显提高穷举式的暴力破解的难度!

参考数据:普通的家用电脑每秒可以执行300万至1000万次MD5运算,换算为每小时约可执行1000亿至3000亿次MD5运算!

另外,在网络上,有一些平台使用数据库记录了一些明文与密文的对应关系,对于通过常见算法进行编码的密文,能够实现“反查式”的“破解”,但是,这些平台能够收录的数据量是非常有限的,如果某个平台需要记录所有8位长度的明文与密文的对应关系,在不使用预计算的哈希链的情况下,需要记录6634万亿条数据,几乎是不可能的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值