c# MD5加密,如何生成12位的串

未加密的密码:123456
加密后的密码:oAixepo3wIQ=

不知道这样是不是你的要求?



附加加盐后的MD5方法,手动写的,可以追问,望采纳!


 public static string GetMD5(string sDataIn)

        {

            sDataIn += "a35j#o1>!6"; //加盐  防止设置密码过于简单  被暴力破解

            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

            byte[] bytValue, bytHash;

            bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);

            bytHash = md5.ComputeHash(bytValue);

            md5.Clear();

            string sTemp = "";

            for (int i = 0; i < bytHash.Length; i++)

            {

                sTemp += bytHash[i].ToString("X").PadLeft(2, '0');

            }

            return sTemp.Substring(0, 12); //取前十二位为密码

        }

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-03
md5加密是加密成32位的。16位的加密是取32位中的前16位,所以你想12位的,取前12位就行了。
第2个回答  2013-07-02
首先 MD5没有12位的字符 有16和32位的 MD5加密后也没有 除字母和数字以外的其他字符 例如你给的加密后的密码 里面有 =这个字符 肯定不符合。 这个12位的应该是其他方式加密 可能是DES加密本回答被网友采纳
第3个回答  2013-07-07
你这样转换的风险是极高的

一般的加密,是将最终的buffer按16进制显示出来的

你这个应该是叫最终的buffer以某个encoding转化出来,如果遇到一些不可见字符,就完全不显示出来

建议不要这样转换
第4个回答  2013-07-03
你那个是des加密 你可以去百度看代码 MD5里面也是用了这个,不过他还嵌套了其他的加密
相似回答