Foxtable(狐表)用户栏目专家坐堂 → [求助]md5加密


  共有1902人关注过本帖树形打印复制链接

主题:[求助]md5加密

帅哥哟,离线,有人找我吗?
智友软件工作室
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
[求助]md5加密  发帖心情 Post By:2019/3/31 18:22:00 [只看该作者]

加密字符串随机,6位
加密字符4位
生成16位的md5

 就是把6位数作为加密的key值,去加密身份证的后四位 ,生成16位的md5

对方的加密函数是这样的,我要和他的算法一样对同一字符串的加密生成的相同的加密后的字符串,可以办到吗?

/// 加密数据 
   /// </summary> 
   /// <param name="Text"></param> 
   /// <param name="sKey"></param> 
   /// <returns></returns> 
   public static string Encrypt(string Text, string sKey) {
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    byte[] inputByteArray;
    inputByteArray = Encoding.Default.GetBytes(Text);
    des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(
    sKey, "md5").Substring(0, 8));
    des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(
    sKey, "md5").Substring(0, 8));
    System.IO.MemoryStream ms = new System.IO.MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();
    StringBuilder ret = new StringBuilder();
    foreach(byte b in ms.ToArray()) {
    ret.AppendFormat("{0:X2}", b);
    }
    return ret.ToString();
   }
[此贴子已经被作者于2019/3/31 20:23:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/1 9:19:00 [只看该作者]

转换代码,请参考,细节自己调整

 

http://converter.telerik.com/

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/1 9:22:00 [只看该作者]

比如

 

Public Function Encrypt(ByVal Text As String, ByVal sKey As String) As String
    Dim des As System.Security.Cryptography.DESCryptoServiceProvider = New System.Security.Cryptography.DESCryptoServiceProvider()
    Dim inputByteArray As Byte()
    inputByteArray = Encoding.[Default].GetBytes(Text)
    des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8))
    des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8))
    Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream()
    Dim cs As System.Security.Cryptography.CryptoStream = New System.Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write)
    cs.Write(inputByteArray, 0, inputByteArray.Length)
    cs.FlushFinalBlock()
    Dim ret As StringBuilder = New StringBuilder()

    For Each b As Byte In ms.ToArray()
        ret.AppendFormat("{0:X2}", b)
    Next

    Return ret.ToString()
End Function


 回到顶部