中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 18:56
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何把MD5的值赋给变量?
可打印版本  938 / 7
第1楼 uiopuiop 发表于 2009-04-22 09:19
中级用户 发帖 211 积分 400
如何把MD5的值赋给变量?
如何把MD5的哈希值直接赋给变量?(不想输出到文件再读取)

set/p=^123456^<nul|md5 -n -l
e10adc3949ba59abbe56e057f20f883e

我试了FOR /F %%i in ('set/p=^123456^<nul^|md5 -n -l') do (echo %%i & set MD5string=%%i) 但是结果不对。竟然输出 d41d8cd98f00b204e9800998ecf8427e , 请问应该如何写?

http://hash-it.net/

123456 的MD5 哈希值应该是:e10adc3949ba59abbe56e057f20f883e


参见帖子: http://www.cn-dos.net/forum/viewthread.php?tid=22941&fpage=1&highlight=MD5&page=1

坐等中。。。 谢谢大家啊!

[ Last edited by uiopuiop on 2009-4-22 at 09:49 ]
第2楼 yishanju 发表于 2009-04-22 09:29
银牌会员 发帖 1,357 积分 1,488
你在哪下的MD5.EXE
第3楼 yishanju 发表于 2009-04-22 09:29
银牌会员 发帖 1,357 积分 1,488
RAS MD5 Checksum V1.0
很简单的程序,只是计算字符串或一个文件的MD5 checksum

用法:
1.计算字符串checksum
MD5 -s 字符串

2.计算一个文件的checksum
md5 -f 文件名
第4楼 uiopuiop 发表于 2009-04-22 09:33
中级用户 发帖 211 积分 400
Originally posted by yishanju at 2009-4-22 09:29 AM:
你在哪下的MD5.EXE



http://www.fourmilab.ch/md5/

这个MD5.EXE 最正宗了。

你是在哪里下的?

[ Last edited by uiopuiop on 2009-4-22 at 09:35 ]
第5楼 freeants001 发表于 2009-04-22 09:47
中级用户 发帖 244 积分 330 来自 湖北
开关用错了,看下面红色文字
MD5 -- Calculate MD5 signature of file. Call
with md5

Options:
-csig Check against sig, set exit status 0 = OK
-dtext Compute signature of text argument
-l Use lower case letters for hexadecimal digits
-n Do not show file name after sum
-ofname Write output to fname (- = stdout)
-u Print this message
-v Print version information

by John Walker -- http://www.fourmilab.ch/
Version 2.2 (2008-01-14)

This program is in the public domain.
第6楼 uiopuiop 发表于 2009-04-22 09:58
中级用户 发帖 211 积分 400
Originally posted by freeants001 at 2009-4-22 09:47 AM:
开关用错了,看下面红色文字
MD5 -- Calculate MD5 signature of file. Call
with md5

Options:
-csig Check against sig, set e ...

感谢兄弟,果然方便多了,我刚开始还以为那个是指每台机子上的值会不一样。

FOR /F %i in ('md5 -l -d123456') do (set MD5str=%i)

echo %MD5str%
e10adc3949ba59abbe56e057f20f883e
第7楼 yishanju 发表于 2009-04-22 09:59
银牌会员 发帖 1,357 积分 1,488
@echo off
for /f "delims=" %%i in ('md5 -d123456') do (
echo %%i
set "md5=%%i"
)

pause
第8楼 wmt333 发表于 2009-04-28 22:26
初级用户 发帖 23 积分 52
for /f "delims=" %%i in (md5.exe -n 文件名') do set md5=%%i
echo.&echo %md5%
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023