两套系统A,B. A库用户表是MD5 16位加密,B库 用户表是32位加密,我想把两个用户表整合,就是让两个库的用户实现同步登录。
现在A库有大量用户想导入B库,并且把报导入后的密码转换为32位加密方式
请问高人有啥办法。

解决方案 »

  1.   

    有密码转换器还成,没有就惨了。MD5加密算法要是自己写的还成。实在不想整就在A系统登陆时候写个插入到B系统的CODE不就解决了么?
      

  2.   

    32位是正统的md5,16位是被忽略了16个字符的md5,为了不被穷举法破译MD5密码。你自己的程序,怎么生成的密码都不知道吗?
      

  3.   

    先查询A用户表,循环转换
    但要知道原密码,insert 到B 用户表
      

  4.   

    我记得MD5是个Hash算法,他本身并不是加密算法,他只是提供一个防止信息被篡改的手段。任何长度的字符串被MD5都会生成一个MD5的Hash值。我们在下载文件的时候一般都对应一个MD5码,下载下来的文件进行MD5算法生成的值和网站上提供的MD5值比较,如果一样这个文件是原始的,如果不一样这个文件就被修改了。MD5由其标准的算法和实现,.NET里面有MD5这个类,MSDN上也为这个类提供了例子下面是对MD5的一个详细的讲解:http://baike.baidu.com/view/7636.htm我只是想说,MD5不是加密算法它只是被应用到密码和加密文件中。
      

  5.   

    无论登录那个库,写两个Cookie!
      

  6.   

    不要晕了...两点...
    1.既没有16位的MD5算法也没有32位的MD5算法,你看见16个字符的那是64位算法32个字符的那是128位算法...然后不可以转换...
    2.既然是散列算法当然没有明码...
      

  7.   

    64位算法产生的散列值是128位算法的散列值的一部分...也就是说B的散列值截取一部分A可以用,但是强烈不建议这样做,这样会大大降低B的安全性...