消息摘要
程序员文章站
2022-06-16 15:13:26
...
常用的消息摘要包含 MD5,SHA1,SHA256,区别可见 wiki -- SHA家族
消息摘要的算法输出字节长度是确定的:
MD5 --> 128 bits
SHA1 --> 160 bits
SHA256 --> 256 bits
Java 中有 MessageDigest 类专门用来处理这样的需求,一般流程:
getInstance --> update --> digest
MessageDigest messageDigest = MessageDigest.getInstance("MD5"); // or SHA-1, SHA-256 messageDigest.update(plainText.getBytes(StandardCharsets.UTF_8)); byte[] hashBytes = messageDigest.digest();
python3 对应的是 hashlib 库,一般流程
hashlib.算法名() --> update --> digest
由于一般都是直接看16进制字符串,可以简写为
hashlib.md5(plainText.encode('utf-8')).hexdigest()
摘要算法主要用来确保数据的完整性[Integrity], 本身不具备身份验证[Authentication]的功能,即在不添加其他要素的情况无法确定发送信息的人是可信任的,所以要达到身份验证的功能,一般要给发送方分配一个秘钥,双方约定按照某种方式先把秘钥或其他要素添加到原始信息中,再执行摘要算法。
上一篇: 燕麦云何洋开讲丨你怎么还在用移动硬盘保存商业秘密?!
下一篇: 信息安全最基础的概念汇总
推荐阅读
-
高通预告好消息:9月24日见
-
虾米音乐怎么开启消息通知? 虾米音乐新消息提醒的教程
-
小米换电池落下米6被雷军点名 王腾:下周有好消息 不止一个
-
使用Python的Zato发送AMQP消息的教程
-
消息称苹果与台积电正秘密研发micro OLED显示屏:极为先进
-
.Net语言Smobiler开发之如何仿微信朋友圈的消息样式
-
ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理
-
2021独立学院转设最新消息-最新独立学院转设名单
-
浅谈Java消息队列总结篇(ActiveMQ、RabbitMQ、ZeroMQ、Kafka)
-
钉钉怎么设置回车键发送消息?钉钉回车键发送消息设置教程