请教下还有人知道Radiusmanager是怎么用md5存用户密码啊
查看了数据库,用户的密码都是MD5存储的如果使用CHAP协议,按照协议,NAS发送给Radius服务器的用户密码是经过加密的,加密算法是MD5(chapid+用户输入的明文密码+Challenge),用户的明文密码是参与加密密码md5运算的,但是发送到RM后,收到加密密码后需要根据数据库里的用户密码比较,也需要使用MD5(chapid+数据库里存的密码+Challenge),但是数据库里并不是明文,是md5加密后的数据,这样,两边参与md5运算的内容就不一致,得出的md5值也不一样啊,rm是怎么来判断密码是否正确的呢。
自写的radius服务软件,数据库使用明文存储密码已经没有问题,但是就是不知道数据库怎么采用md5存储用户密码了 本帖最后由 jearry 于 2011-7-1 14:04 编辑
回复 ogion 的帖子
没错,就是这样的.
但是RadiusManager里是保存了两份密码的:
rm_users里面保存的是密文:md5('password')
认证过程是从radcheck表里获取明文密码用于认证的,用SELECT * FROM radcheck WHERE username = 'username'就可以看到里面保存的明文密码了 LZ把自己写的RADIUS软件放出来啊 路过,看看…… jearry 发表于 2011-7-1 14:02 static/image/common/back.gif
回复 ogion 的帖子
没错,就是这样的.
果然,明文密码存在radcheck表里,我说rm咋知道用户密码的,原来存了两份,谢谢jearry了
2楼bobwalker:如果radius只存md5加密后的密码,那么radius软件应该是没有办法知道用户明文的,而比较时使用的密码,是通过我上面写的公式md5后的字串,md5现在似乎只能暴力破解得到原文...这也许就是windows2003配置radius如果采用chap认证方式,需要在组策略里把密码存储方式改为 可还原密码 的原因。
谢谢楼上所有。感谢
不知道问问群里的高手
页:
[1]