小编Dar*_*oid的帖子

Arduino和Python MD5

好吧,我尝试在Python中对字符串或至少一组数字进行哈希处理,并将其与使用Scott MacVicar在Arduino上更新的MD5库生成的代码进行比较,但得到的结果有所不同。

Arduino代码:

#include <MD5.h> 

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");
   //generate the digest (hex encoding) of our hash
   char *md5str = MD5::make_digest(hash, 16);
   //print it on our serial monitor
   Serial.println(md5str);
}
Run Code Online (Sandbox Code Playgroud)

结果:5d41402abc4b2a76b9e4080020008c00

Python代码:

from hashlib import md5

m = md5('hello').hexdigest()
print m    
Run Code Online (Sandbox Code Playgroud)

结果:5d41402abc4b2a76b9719d911017c592

从我可以看到的每一次尝试来看,差异都来自最后14个字符。但是生成的哈希值的长度是相同的!

我究竟做错了什么??谢谢

编辑:

我从终端使用了一条命令,并得到:

echo -n 'hello' | openssl md5
Run Code Online (Sandbox Code Playgroud)

结果:5d41402abc4b2a76b9719d911017c592

这让我认为问题的根源在于arduino代码

python md5 arduino

5
推荐指数
1
解决办法
872
查看次数

使用bash参数扩展获取文件路径

给定文件的路径,请说:/home/user1/archive.zip

有人能告诉我如何在不使用外部二进制文件的情况下删除字符串archive.zip

我知道:

${Path2File##*/}
Run Code Online (Sandbox Code Playgroud)

可以给我文件名,但我需要这个文件夹的路径.

我们也欢迎使用通配符理解或解释指南.

bash path

2
推荐指数
1
解决办法
793
查看次数

标签 统计

arduino ×1

bash ×1

md5 ×1

path ×1

python ×1