3DES加密解密

匿名 (未验证) 提交于 2019-12-02 22:10:10

C#3DES加密解密,JAVA、PHP可用

using System; using System.Security.Cryptography; using System.Text;  namespace TT.Utilities.Encrypt {     public class DES3     {         /// <summary>         /// utf-8编码         /// 加密模式ECB,填充类型PKCS7         /// </summary>         /// <param name="str_content"></param>         /// <param name="str_keys">24λkey</param>         /// <returns></returns>         public static string DES3_Encrypt(string str_content, string str_keys)         #region         {             Encoding encoding = Encoding.UTF8;              byte[] content = encoding.GetBytes(str_content);             byte[] keys = encoding.GetBytes(str_keys);              TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();              //指定密匙长度,默认为192位             tdsc.KeySize = 128;             //使用指定的key和IV(加密向量)             tdsc.Key = keys;             //tdsc.IV = IV;             //加密模式,偏移             tdsc.Mode = CipherMode.ECB;             tdsc.Padding = PaddingMode.PKCS7;             //进行加密转换运算             ICryptoTransform ct = tdsc.CreateEncryptor();             //8很关键,加密结果是8字节数组             byte[] results = ct.TransformFinalBlock(content, 0, content.Length);              string base64String = Convert.ToBase64String(results);             return base64String;         }         #endregion          /// <summary>         /// utf-8编码         /// 加密模式ECB,填充类型PKCS7         /// </summary>         /// <param name="base64_content"></param>         /// <param name="str_keys">24λkey</param>         /// <returns></returns>         public static string DES3_Decrypt(string base64_content, string str_keys)         #region         {             Encoding encoding = Encoding.UTF8;              byte[] content = Convert.FromBase64String(base64_content);             byte[] keys = encoding.GetBytes(str_keys);              TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();              //指定密匙长度,默认为192位             tdsc.KeySize = 128;             //使用指定的key和IV(加密向量)             tdsc.Key = keys;             //tdsc.IV = IV;             //加密模式,偏移             tdsc.Mode = CipherMode.ECB;             tdsc.Padding = PaddingMode.PKCS7;             //进行加密转换运算             ICryptoTransform ct = tdsc.CreateDecryptor();             //8很关键,加密结果是8字节数组             byte[] results = ct.TransformFinalBlock(content, 0, content.Length);              string oriString = encoding.GetString(results);             return oriString;         }         #endregion     } }

 

转载请标明出处:3DES加密解密
文章来源: 3DES加密解密
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!