密码加密和解密

it2022-05-09  30

        /// <summary>         /// 字符串加密         /// </summary>         /// <param name="original">明文</param>         /// <returns>密文</returns>         public static string Encrypt(string original)         {             byte[] buff = System.Text.Encoding.Default.GetBytes(original);             byte[] kb = System.Text.Encoding.Default.GetBytes("JASONHEUNG");             return Convert.ToBase64String(Encrypt(buff, kb));         }

        /// <summary>         /// 字符串解密         /// </summary>         /// <param name="original">密文</param>         /// <returns>明文</returns>         public static string Decrypt(string original)         {             try             {                 byte[] buff = Convert.FromBase64String(original);                 byte[] kb = System.Text.Encoding.Default.GetBytes("JASONHEUNG");                 return System.Text.Encoding.Default.GetString(Decrypt(buff, kb));             }             catch (Exception ex)             {                 return "";             }         }

        /// <summary>         /// 使用给定密钥加密         /// </summary>         /// <param name="original">明文</param>         /// <param name="key">密钥</param>         /// <returns>密文</returns>         private static byte[] Encrypt(byte[] original, byte[] key)         {             TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();             des.Key = MakeMD5(key);             des.Mode = CipherMode.ECB;

            return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);         }

        /// <summary>         /// 使用给定密钥解密数据         /// </summary>         /// <param name="encrypted">密文</param>         /// <param name="key">密钥</param>         /// <returns>明文</returns>         private static byte[] Decrypt(byte[] encrypted, byte[] key)         {             try             {                 TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();                 des.Key = MakeMD5(key);                 des.Mode = CipherMode.ECB;

                return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);             }             catch (Exception ex)             {                 return null;             }         }

        /// <summary>         /// 生成MD5摘要         /// </summary>         /// <param name="original">数据源</param>         /// <returns>摘要</returns>         public static byte[] MakeMD5(byte[] original)         {             MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();             byte[] keyhash = hashmd5.ComputeHash(original);             hashmd5 = null;             return keyhash;         }

转载于:https://www.cnblogs.com/n666/archive/2009/09/11/2191148.html


最新回复(0)