开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2586|回复: 18
收起左侧

[求助] C和易md5结果不一样

[复制链接]
结帖率:77% (41/53)
发表于 2022-5-12 18:27:24 | 显示全部楼层 |阅读模式   江苏省常州市
std::string Md5(const void* str, size_t length, size_t block_length){
                MD5_CTX md5_ctx = { 0 };
                unsigned char sign[16] = { 0 };
                if (length){
                        MD5_Init(&md5_ctx);
                        MD5_Update(&md5_ctx, str, length);
                        MD5_Final(sign, &md5_ctx);
                }
                std::cout << sign;
                std::cout << "\n";
                if (block_length){
                        return std::string(HexStrFormByteArray(sign, 16), 0, block_length);
                }
                else{
                       
                        return std::string(HexStrFormByteArray(sign, 16), 0);
                }
        }

这个是md5加密取前八位 但是加密的结果还易语言md5加密取前八位结果不一样请问怎么回事谢谢



补充内容 (2022-5-12 18:29):
size_t block_length 这个8就是取前八位

补充内容 (2022-5-12 19:02):
比如123456789 md5加密取前8位 他的结果是25f9e794 易语言的结果是323b4538

补充内容 (2022-5-12 19:12):
别看那个1233456789的 看这个PTEC   - 0 TP118 Phoenix Technologies Ltd. - 12345678这个他生成的是8f15ae2e 但易语言的是b6949f0e

补充内容 (2022-5-12 19:48):
看下置顶谢谢
结帖率:77% (41/53)
 楼主| 发表于 2022-5-12 19:41:50 | 显示全部楼层   江苏省常州市
  
GetWinComputerName (computer_name);
std::string guid = Strings::Md5 (computer_name.c_str (), computer_name.length (), 8);
bool HardwareInfo::GetWinComputerName (std::string& out){
wchar_t buffer[MAX_PATH] = { 0 };
unsigned long length = MAX_PATH;
GetComputerNameW (buffer, &length);
out.resize (length);
memmove (const_cast (out.c_str ()), buffer, length);
return true;
}
std::string HardwareInfo::GetMachineName (){
std::string machine_name = "";
GetWinComputerName (machine_name);
return machine_name;
}
我电脑的名称是abcdefd
我依次输出 computer_name   computer_name.length ()  guid
分别为
A B C D
7
abc903f9

回复 支持 反对

使用道具 举报

结帖率:0% (0/4)
发表于 2022-5-12 18:39:28 | 显示全部楼层   浙江省宁波市
.版本 2
.支持库 spec
.支持库 dp1

调试输出 (取文本左边 (取数据摘要 (编码_Ansi到Utf8 (“哈哈哈”)), 8))

用了精易模块

评分

参与人数 1好评 +1 精币 +3 收起 理由
Scorpion + 1 + 3 先点评加好评再送精币的说

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (25/25)
发表于 2022-5-12 18:44:44 | 显示全部楼层   江西省赣州市
你倒是给你你加密错误的 文本啊
回复 支持 反对

使用道具 举报

结帖率:77% (41/53)
 楼主| 发表于 2022-5-12 19:01:57 | 显示全部楼层   江苏省常州市
紫色风铃 发表于 2022-5-12 18:44
你倒是给你你加密错误的 文本啊

比如123456789 md5加密取前8位 他的结果是25f9e794 易语言的结果是323b4538

点评

输出调试文本 (取文本左边 (取数据摘要 (到字节集 (“123456789”)), 8)=“25f9e794”) 没毛病啊~   保留地址  详情 回复 发表于 2022-5-12 19:05
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2022-5-12 19:05:00 | 显示全部楼层   保留地址
Scorpion 发表于 2022-5-12 19:01
比如123456789 md5加密取前8位 他的结果是25f9e794 易语言的结果是323b4538

输出调试文本 (取文本左边 (取数据摘要 (到字节集 (“123456789”)), 8)=“25f9e794”)

没毛病啊~

评分

参与人数 1好评 +1 精币 +3 收起 理由
Scorpion + 1 + 3 先点评加好评再送精币的说

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (25/25)
发表于 2022-5-12 19:07:10 | 显示全部楼层   江西省赣州市
.版本 2
.支持库 spec
.支持库 dp1

调试输出 (取数据摘要 (到字节集 (“123456789”)))
* “25f9e794323b453885f5181f1b624d0b”
回复 支持 反对

使用道具 举报

结帖率:77% (41/53)
 楼主| 发表于 2022-5-12 19:08:08 | 显示全部楼层   江苏省常州市
无风不起浪 发表于 2022-5-12 18:39
.版本 2
.支持库 spec
.支持库 dp1

但是PTEC   - 0 TP118 Phoenix Technologies Ltd. - 12345678这个他生成的是8f15ae2e 但易语言的是b6949f0e
回复 支持 反对

使用道具 举报

结帖率:100% (25/25)
发表于 2022-5-12 19:08:33 | 显示全部楼层   江西省赣州市
.版本 2
.支持库 spec
.支持库 dp1

调试输出 (取数据摘要 (到字节集 (“123456789”)))
* “25f9e794323b453885f5181f1b624d0b”
回复 支持 反对

使用道具 举报

结帖率:77% (41/53)
 楼主| 发表于 2022-5-12 19:10:33 | 显示全部楼层   江苏省常州市
Hoibben 发表于 2022-5-12 19:05
输出调试文本 (取文本左边 (取数据摘要 (到字节集 (“123456789”)), 8)=“25f9e794”)

没毛病啊~

但是PTEC   - 0 TP118 Phoenix Technologies Ltd. - 12345678这个他生成的是8f15ae2e 但易语言的是b6949f0e

点评

估计你原始数据复制粘贴格式丢失了吧 比如换行之类的 把PTEC这段用HEX的方式打印出来看看~   保留地址  详情 回复 发表于 2022-5-12 19:12
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2022-5-12 19:12:24 | 显示全部楼层   保留地址
Scorpion 发表于 2022-5-12 19:10
但是PTEC   - 0 TP118 Phoenix Technologies Ltd. - 12345678这个他生成的是8f15ae2e 但易语言的是b6949f ...

估计你原始数据复制粘贴格式丢失了吧 比如换行之类的 把PTEC这段用HEX的方式打印出来看看~


回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表