C#实现Base64加密解密
2017-02-07 17:36
615 查看
方法一
class Base64Helper { /// <summary> /// Base64加密,采用utf8编码方式加密 /// </summary> /// <param name="source">待加密的明文</param> /// <returns>加密后的字符串</returns> public static string Base64Encode(string source) { return Base64Encode(Encoding.UTF8, source); } /// <summary> /// Base64加密 /// </summary> /// <param name="encodeType">加密采用的编码方式</param> /// <param name="source">待加密的明文</param> /// <returns></returns> public static string Base64Encode(Encoding encodeType, string source) { string encode = string.Empty; byte[] bytes = encodeType.GetBytes(source); try { encode = Convert.ToBase64String(bytes); } catch { encode = source; } return encode; } /// <summary> /// Base64解密,采用utf8编码方式解密 /// </summary> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string Base64Decode(string result) { return Base64Decode(Encoding.UTF8, result); } /// <summary> /// Base64解密 /// </summary> /// <param name="encodeType">解密采用的编码方式,注意和加密时采用的方式一致</param> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string Base64Decode(Encoding encodeType, string result) { string decode = string.Empty; byte[] bytes = Convert.FromBase64String(result); try { decode = encodeType.GetString(bytes); } catch { decode = result; } return decode; } }
方法二
有一种加密方式:明文加密之后生成长度是24位的密文,而且密文以=结尾。经查询后发现大家都说这种加密方式是Base64加密,不过这种加密方式与方法一中的Base64加密不一样,具体代码如下。class Program { static void Main(string[] args) { string original = "123456"; var md5 = BitConverter.ToString(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(original))).Replace("-", "").ToLower(); Console.WriteLine("md5=" + md5); //b64是以=结尾的长度为24位的密文 var b64 = Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(original))); Console.WriteLine("b64=" + b64); var dec = BitConverter.ToString(new System.Security.Cryptography.FromBase64Transform().TransformFinalBlock(Encoding.Default.GetBytes(b64), 0, Encoding.Default.GetBytes(b64).Length)).Replace("-","").ToLower(); Console.WriteLine("dec=" + dec); Console.ReadLine(); } }
相关文章推荐
- C# 下base64加密解密实现
- C#实现Base64处理的加密解密,编码解码示例
- C# 下base64加密解密实现
- 用C#实现Base64处理,加密解密,编码解码
- C# 下base64加密解密实现
- 用C#实现Base64处理,加密解密,编码解码
- 用C#实现字符串的加密解密操作
- C#实现的数据加密和解密
- php实现base64加密解密的代码
- C# 实现 数据加密、解密方法
- C#中RSA加密解密和签名与验证的实现 (转)
- C#中base64之加密解密
- 不对称加密和解密,用C#实现
- C#中RSA加密解密和签名与验证的实现
- C# 加密或解密算法 Cryptography CRC32 MD5 BASE64
- C# Base64 加密解密 张宇轩
- C# DES 加密/解密类库,支持文件和中文/UNICODE字符,返回BASE64编码字符串
- Base64加密解密原理以及代码实现
- 转载:C#中RSA加密解密和签名与验证的实现
- C# 基于大整数类的RSA算法实现(公钥加密私钥解密,私钥加密公钥解密)