查看“第五十四课--Microduino MD5加密/zh”的源代码
←
第五十四课--Microduino MD5加密/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==目的== 本教程将介绍如何使用最常用的加密方法MD5加密,并在Microduino中解释加密的正确性。 ==MD5加密== '''介绍:''' Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992) 对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。 '''MD5优势:''' Van oorschot和Wiener曾经考虑过一个在散列中暴力搜寻冲突的函数(brute-force hash function),而且他们猜测一个被设计专门用来搜索MD5冲突的机器(这台机器在1994年的制造成本大约是一百万美元)可以平均每24天就找到一个冲突。但单从1991年到2001年这10年间,竟没有出现替代MD5算法的MD6或被叫做其他什么名字的新算法这一点,我们就可以看出这个瑕疵并没有太多的影响MD5的安全性。上面所有这些都不足以成为MD5的在实际应用中的问题。并且,由于MD5算法的使用不需要支付任何版权费用的,所以在一般的情况下(非绝密应用领域。但即便是应用在绝密领域内,MD5也不失为一种非常优秀的中间技术),MD5怎么都应该算得上是非常安全的了。 '''弱点:''' 2004年8月17日的美国加州圣巴巴拉的国际密码学会议(Crypto’2004)上,来自中国山东大学的王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,公布了MD系列算法的破解结果。宣告了固若金汤的世界通行密码标准MD5的堡垒轰然倒塌,引发了密码学界的轩然大波。(注意:并非是真正的破解,只是加速了杂凑冲撞) ==设备== *'''[[Microduino-Core/zh]]''' *'''[[Microduino-USBTTL/zh]]''' *其他硬件设备 **USB数据连接线 一根 **面包板跳线 一盒 ==程序== <source lang="cpp"> #include "MD5.h" /* This is en example of how to use my MD5 library. It provides two easy-to-use methods, one for generating the MD5 hash, and the second one to generate the hex encoding of the hash, which is frequently used. */ void setup() { //initialize serial Serial.begin(9600); //give it a second delay(1000); //generate the MD5 hash for our string unsigned char* hash=MD5::make_hash("Hello Microduino"); //generate the digest (hex encoding) of our hash char *md5str = MD5::make_digest(hash, 16); //print it on our serial monitor Serial.println(md5str); char* test="Hello Microduino"; unsigned char* hash2=MD5::make_hash(test); md5str=MD5::make_digest((unsigned char*)hash2, 16); Serial.println(md5str); } void loop() { } </source> ==调试== 步骤一:下载代码,运行。如果编译出错的话是因为你本地没有 [[https://github.com/tzikis/ArduinoMD5 ArduinoMD5]]库,下载安装好后,再重启IDE就可以了 步骤二: 打开串口通讯,会显示两行密文,如下图: [[File:MicroduinoMD5.jpg|600px|center|thumb]] 这两个密文就是明文Hello Microduino经过MD5加密后的密文。 步骤三: 证实一下,去[[http://md5calculator.chromefans.org md5calculator.chromefans.org]] 网站证实。 [[File:MicroduinoMD5_1.jpg|600px|center|thumb]] 这个结果和我在这个在线MD5的网站计算结果是一致的 ==结果== 明文Hello Microduino被MD5加密算法加密成了密文,这段被打散的字符串序列很难被倒推回之前的明文,达到加密的目的。 ==视频== |}
返回至
第五十四课--Microduino MD5加密/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息