![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 03:14 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » 寻一位会GRUB的朋友合作 |
| 可打印版本 3,672 / 23 |
| 第16楼 lianjiang2004 | 发表于 2007-03-19 20:46 |
| 金牌会员 发帖 1,884 积分 3,946 | |
Originally posted by oumiga at 2007-3-19 13:41: md5_2与md5_1是不一样的。不是md5_2与md5_1比。而是输入的旧密码的md5_1与ini中的md5_1比。一样就验证通过。 前面讲了,md5_1是不变值,md5_2是变值。 |
|
| 第17楼 oumiga | 发表于 2007-03-20 00:14 |
| 初级用户 发帖 22 积分 154 | |
|
输入999,算出来的MD5_后,替换掉menu.lst中的 密码,然后再写入ini一份MD5_1
当启动时,GRUB就会核对menu.lst中的密码,此时输入999,就过去了,但在WIN下,如果要改密码,首先要核对ini中的md5_1, 这个时候,用户要输入旧密码999,再次转成MD5(此时应该是md5_2),与MD5_1比较,虽然MD5_1与md5_2都是在WIN下设置的密码999,但两次值是不同的,所以,WIN下改密码,此路不通。 我已经找到了解决办法,我用VB生成WIN下的32位或16位 MD5码,这个码是不会变的,我连续转换N次999,其MD5(32位)值还是b706835de79a2b4e80506f582af3676a,MD5(16位)还是e79a2b4e80506f58 因此,我觉得,用WIN下的MD5来核对密码,再修改密码,是比较安全准确的。 在论坛里找了个GRUB MD5的EXE,据说支持SHELL接口(用EXE运行这个MD5得到的MD5值再返回运行它的EXE),但我不会用,我用的是一种笨方法实现的。 现在基本都已搞定,就差测试了 也感谢lianjiang给的思路。让我直接在menu.lst上下手,没去走弯路 [ Last edited by oumiga on 2007-3-20 at 12:17 AM ] |
|
| 第18楼 lianjiang2004 | 发表于 2007-03-20 00:36 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
当启动时,GRUB就会核对menu.lst中的密码,此时输入999,就过去了,但在WIN下,如果要改密码,首先要核对ini中的md5_1, 这个时候,用户要输入旧密码999,再次转成MD5(此时应该是md5_2),与MD5_1比较,虽然MD5_1与md5_2都是在WIN下设置的密码999,但两次值是不同的,所以,WIN下改密码,此路不通。
-------------- 上面讲了: md5_2与md5_1是不一样的。不是md5_2与md5_1比。而是输入的旧密码的md5_1与ini中的md5_1比。一样就验证通过。 md5_1是不变值,md5_2是变值。 难道我还没说明白? 还是你理解问题?呵呵。 |
|
| 第19楼 lianjiang2004 | 发表于 2007-03-20 00:39 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
这个时候,用户要输入旧密码999,再次转成MD5(此时应该是md5_2),
------------------- 应是MD5_1,不是md5_2。 MD5_1用于win下验证,MD5_2用于grub验证。 |
|
| 第20楼 oumiga | 发表于 2007-03-20 00:56 |
| 初级用户 发帖 22 积分 154 | |
运行GRUB MD5 将明码“999”加密后,产生的MD5值命名为MD5_1, MD5_1 替换menu.lst中的旧密码(如果为空,就直接写上去 password --md5 xxxxx),然后再将MD5_1存到ini中(还用MD5_1变量表示),方便下次重设密码,核对旧密码 这步对吧? 问题来了... 当用户在WIN下重设密码时,要求输入旧密码,此时输入明码 “999”,如果再利用GRUB MD5把这次999的MD5值当做md5_2,与ini中的MD5_1比较的话,肯定不会通过了。因为ini中记录的只有一个数据,就是前MD5_1的值,也就是menu.lst中用的MD5密码。 解决办法: 用两个MD5值 首先还是调用GRUB MD5,得到md5_1,替换menu.lst,然后,ini中存的,是MD5_2,MD5_2必需是WIN下的MD5转换值(明码同是“999”,与GRUB MD5产生的MD5值不同),下次用户输入旧密码时,还用WIN下MD5转换为md5_3 再用MD5_3与存在ini中的MD5_2比较,这样就准确定的通过了。 焦点问题: MD5_1是GRUB MD5产生的MD5值 MD5_2,MD5_3是WIN下MD5产生的32或16位MD5值,这个值是不会变的。 |
|
| 第21楼 lianjiang2004 | 发表于 2007-03-20 01:08 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
假如你仔细看了我的回答,应早就该明白我说的了。
3楼: “关于第一问,我只讲思路。 1,设置密码,对输入密码字符分别用md5生成校验码(md5_1,此值不变)和生成grub用md5密码(md5_2,此值变),写入(或替换)文件比如pwd.ini。同时把生成的md5_2写入或替换掉menu.lst中旧密码。此密码将在启动grub时要就验证。 2,重设密码。输入就密码,生成md5_1,与pwd.ini中md5_1比较,相同则输入新密码。” 我说的md5_1就是你现在说的MD5_2,我说的md5_2就是你现在说的MD5_1。 看来至今你没明白我说的。 不过,不管如何,你现在自己已解决了,尽管我说了好多废话。呵呵。 |
|
| 第22楼 oumiga | 发表于 2007-03-20 02:21 |
| 初级用户 发帖 22 积分 154 | |
|
呵呵,老兄,你要是在3楼时,直接再点一下WIN下的MD5用于修改密码,我就不考虑GRUB MD5的值了,也不用上到22楼了,这么累,呵呵
|
|
| 第23楼 lianjiang2004 | 发表于 2007-03-20 05:51 |
| 金牌会员 发帖 1,884 积分 3,946 | |
Originally posted by oumiga at 2007-3-20 02:21: 因为我用的两个工具都叫md5.exe,都能运行与windows,且是命令行方式的。 我只能(会)称之一个是生成grub用md5密码(此值变),一个生成的是校验码(此值不变)。 3楼说l了:“重设密码。输入就密码,生成md5_1,与pwd.ini中md5_1比较,相同则输入新密码。” 难道不是说用与修改密码的吗? 呵呵。 |
|
| 第24楼 qsj | 发表于 2007-03-20 08:59 |
| 初级用户 发帖 34 积分 70 | |
|
grldr的内置菜单,可以用ultraedit打开编辑!
|
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |