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

未加密的密码:123456加密后的密码:oAixepo3wIQ=... 未加密的密码:123456
加密后的密码:oAixepo3wIQ=
展开
 我来答
百度网友16d9b0c
2013-07-02
知道答主
回答量:18
采纳率:0%
帮助的人:7.8万
展开全部

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



附加加盐后的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); //取前十二位为密码

        }

dfaglory
2013-07-03 · 超过18用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:46万
展开全部
md5加密是加密成32位的。16位的加密是取32位中的前16位,所以你想12位的,取前12位就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongfei357
2013-07-02 · TA获得超过285个赞
知道小有建树答主
回答量:384
采纳率:100%
帮助的人:214万
展开全部
首先 MD5没有12位的字符 有16和32位的 MD5加密后也没有 除字母和数字以外的其他字符 例如你给的加密后的密码 里面有 =这个字符 肯定不符合。 这个12位的应该是其他方式加密 可能是DES加密
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
2013-07-07 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:981万
展开全部
你这样转换的风险是极高的

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

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

建议不要这样转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纵横家_
2013-07-03 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:122万
展开全部
你那个是des加密 你可以去百度看代码 MD5里面也是用了这个,不过他还嵌套了其他的加密
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式