DES对称加解密、AES RijndaelManaged加解密、Base64加密解密、MD5加密等操作辅助类 EncodeHelper

/// <summary>

/// 使用默认加密

/// </summary>

/// <param name="strText"></param>

/// <returns></returns>

public static string DesEncrypt(string strText)

/// <summary>

/// 使用默认解密

/// </summary>

/// <param name="strText">解密字符串</param>

/// <returns></returns>

public static string DesDecrypt(string strText)

/// <summary>

/// 加密字符串,注意strEncrKey的长度为8位

/// </summary>

/// <param name="strText">待加密字符串</param>

/// <param name="strEncrKey">加密键</param>

/// <returns></returns>

public static string DesEncrypt(string strText, string strEncrKey)

/// <summary>

/// 解密字符串,注意strEncrKey的长度为8位

/// </summary>

/// <param name="strText">待解密的字符串</param>

/// <param name="sDecrKey">解密键</param>

/// <returns>解密后的字符串</returns>

public static string DesDecrypt(string strText, string sDecrKey)

/// <summary>

/// 加密数据文件,注意strEncrKey的长度为8位

/// </summary>

/// <param name="m_InFilePath">待加密的文件路径</param>

/// <param name="m_OutFilePath">输出文件路径</param>

/// <param name="strEncrKey">加密键</param>

public static void DesEncrypt(string m_InFilePath, string m_OutFilePath, string strEncrKey)

/// <summary>

/// 解密数据文件,注意strEncrKey的长度为8位

/// </summary>

/// <param name="m_InFilePath">待解密的文件路径</param>

/// <param name="m_OutFilePath">输出路径</param>

/// <param name="sDecrKey">解密键</param>

public static void DesDecrypt(string m_InFilePath, string m_OutFilePath, string sDecrKey)

#endregion

#region 对称加密算法AES RijndaelManaged加密解密

/// <summary>

/// 对称加密算法AES RijndaelManaged加密(RijndaelManaged(AES)算法是块式加密算法)

/// </summary>

/// <param name="encryptString">待加密字符串</param>

/// <returns>加密结果字符串</returns>

public static string AES_Encrypt(string encryptString)

/// <summary>

/// 对称加密算法AES RijndaelManaged加密(RijndaelManaged(AES)算法是块式加密算法)

/// </summary>

/// <param name="encryptString">待加密字符串</param>

/// <param name="encryptKey">加密密钥,须半角字符</param>

/// <returns>加密结果字符串</returns>

public static string AES_Encrypt(string encryptString, string encryptKey)

/// <summary>

/// 对称加密算法AES RijndaelManaged解密字符串

/// </summary>

/// <param name="decryptString">待解密的字符串</param>

/// <returns>解密成功返回解密后的字符串,失败返源串</returns>

public static string AES_Decrypt(string decryptString)

/// <summary>

/// 对称加密算法AES RijndaelManaged解密字符串

/// </summary>

/// <param name="decryptString">待解密的字符串</param>

/// <param name="decryptKey">解密密钥,和加密密钥相同</param>

/// <returns>解密成功返回解密后的字符串,失败返回空</returns>

public static string AES_Decrypt(string decryptString, string decryptKey)

/// <summary>

/// 加密文件流

/// </summary>

/// <param name="fs">文件流</param>

/// <returns></returns>

public static CryptoStream AES_EncryptStrream(FileStream fs, string decryptKey)

/// <summary>

/// 解密文件流

/// </summary>

/// <param name="fs">文件流</param>

/// <returns></returns>

public static CryptoStream AES_DecryptStream(FileStream fs, string decryptKey)

/// <summary>

/// 对指定文件加密

/// </summary>

/// <param name="InputFile">输入文件</param>

/// <param name="OutputFile">输出文件</param>

/// <returns></returns>

public static bool AES_EncryptFile(string InputFile, string OutputFile)

/// <summary>

/// 对指定的文件解压缩

/// </summary>

/// <param name="InputFile">输入文件</param>

/// <param name="OutputFile">输出文件</param>

/// <returns></returns>

public static bool AES_DecryptFile(string InputFile, string OutputFile)

#endregion

#region Base64加密解密

/// <summary>

/// Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可列印的ASCII 字元。

/// 這使它可用來作為電子郵件的傳輸編碼。在Base64中的變數使用字元A-Z、a-z和0-9 ,

/// 這樣共有62個字元,用來作為開始的64個數字,最後兩個用來作為數字的符號在不同的

/// 系統中而不同。

/// Base64加密

/// </summary>

/// <param name="str">Base64方式加密字符串</param>

/// <returns></returns>

public static string Base64Encrypt(string str)

/// <summary>

/// Base64解密字符串

/// </summary>

/// <param name="str">待解密的字符串</param>

/// <returns></returns>

public static string Base64Decrypt(string str)

#endregion

#region MD5加密

/// <summary>

/// 使用MD5加密字符串

/// </summary>

/// <param name="strText">待加密的字符串</param>

/// <returns>MD5加密后的字符串</returns>

public static string MD5Encrypt(string strText)

/// <summary>

/// 使用MD5加密的Hash表

/// </summary>

/// <param name="input">待加密字符串</param>

/// <returns></returns>

public static string MD5EncryptHash(String input)

/// <summary>

/// 使用Md5加密为16进制字符串

/// </summary>

/// <param name="input">待加密字符串</param>

/// <returns></returns>

public static string MD5EncryptHashHex(String input)

/// <summary>

/// MD5 三次加密算法.计算过程: (QQ使用)

/// 1. 验证码转为大写

/// 2. 将密码使用这个方法进行三次加密后,与验证码进行叠加

/// 3. 然后将叠加后的内容再次MD5一下,得到最终验证码的值

/// </summary>

/// <param name="s"></param>

/// <returns></returns>

public static string EncyptMD5_3_16(string s)

#endregion

/// <summary>

/// SHA256函数

/// </summary>

/// <param name="str">原始字符串</param>

/// <returns>SHA256结果(返回长度为44字节的字符串)</returns>

public static string SHA256(string str)

/// <summary>

/// 加密字符串(使用MD5+Base64混合加密)

/// </summary>

/// <param name="input">待加密的字符串</param>

/// <returns></returns>

public static string EncryptString(string input)

/// <summary>

/// 解密加过密的字符串(使用MD5+Base64混合加密)

/// </summary>

/// <param name="input">待解密的字符串</param>

/// <param name="throwException">解密失败是否抛异常</param>

/// <returns></returns>

public static string DecryptString(string input, bool throwException)

、、、

/// <summary>

/// 对字符串加密

/// </summary>

/// <returns></returns>

private string EncodePassword(string passwordText)

{

return EncodeHelper.MD5Encrypt(passwordText);
}

、、、

private void btnEncrypt_Click(object sender, EventArgs e)

{

string original = "测试加密字符串";

Console.WriteLine("original:" + original);

string encrypt = EncodeHelper.SHA256(original);

Console.WriteLine("EncodeHelper.SHA256" + encrypt);

//DES加解密

encrypt = EncodeHelper.DesEncrypt(original);

Console.WriteLine("EncodeHelper.DesEncrypt:" + encrypt);

string decrypt = EncodeHelper.DesDecrypt(encrypt);

Console.WriteLine("EncodeHelper.DesDecrypt:" + decrypt);

//MD5加密

encrypt = EncodeHelper.MD5Encrypt(original);

Console.WriteLine("EncodeHelper.MD5Encrypt:" + encrypt);

encrypt = EncodeHelper.MD5EncryptHash(original);

Console.WriteLine("EncodeHelper.MD5EncryptHash:" + encrypt);

encrypt = EncodeHelper.MD5EncryptHashHex(original);

Console.WriteLine("EncodeHelper.MD5EncryptHashHex" + encrypt);

encrypt = EncodeHelper.EncyptMD5_3_16(original);

Console.WriteLine("EncodeHelper.EncyptMD5_3_16:" + encrypt);

//Base64加解密

encrypt = EncodeHelper.Base64Encrypt(original);

Console.WriteLine("EncodeHelper.Base64Encrypt" + encrypt);

decrypt = EncodeHelper.Base64Encrypt(encrypt);

Console.WriteLine("EncodeHelper.Base64Encrypt" + decrypt);

encrypt = EncodeHelper.AES_Encrypt(original);

Console.WriteLine("EncodeHelper.AES_Encrypt" + encrypt);

decrypt = EncodeHelper.AES_Decrypt(encrypt);
Console.WriteLine("EncodeHelper.AES_Decrypt" + decrypt);

、、、、、

时间: 2024-08-02 06:56:01

DES对称加解密、AES RijndaelManaged加解密、Base64加密解密、MD5加密等操作辅助类 EncodeHelper的相关文章

RSA加密解密及RSA加签验签

RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解密并查看数据:加签验签是私钥加签公钥验签,持有私钥(一人持有)可以加签,持有公钥(多人持有)可以验签. 在金融行业在设计到数据交互传输的时候,需要考虑数据的安全性问题.下文通过介绍RSA的加密和加签两个特性,说明RSA加密技术在保障数据传输过程中的安全性以及实现数据的防篡改和防否机制的应用场景及代码

java实现DES加密与解密,md5加密

很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 1 import java.io.IOException; 2 import java.security.MessageDigest; 3 import java.security.SecureRandom; 4 5 import javax.crypto.Cipher; 6 import javax.crypto.SecretKey; 7 import javax.crypto.SecretKeyFac

C# 加密解密(DES,3DES,MD5,Base64) 类

原文:C# 加密解密(DES,3DES,MD5,Base64) 类 保存! public sealed class EncryptUtils { #region Base64加密解密 /// <summary> /// Base64加密 /// </summary> /// <param name="input">需要加密的字符串</param> /// <returns></returns> public sta

MD5加密,Base64加密/解密,AES加密/解密

1.从github上下载GTMBase64-master和AESCrypt-ObjC-master导入工程,如下图所示. 2.使用前的配置及注意事项: (1) 在build phases中的GTMBase64.m需要设置 -fno-objc-arc (2) 在#import "NSString+Base64.m”文件中导入   #import <Foundation/Foundation.h> (3)在#import "GTMBase64.m”文件中添加         

常用密码加密解密操作相关类

/// <summary> /// 密码加密解密操作相关类 /// </summary> public static class EncryptHelper { #region MD5 加密 /// <summary> /// MD5加密 /// </summary> public static string Md532(this string source) { if (string.IsNullOrEmpty(source)) return null;

php的加密解密函数

计应134(实验班)詹加全 在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数 MD5加密: string md5 ( string $str [, bool $raw_output = false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,md5()则会返回原始的 16 位二进制格式报文摘要 2.m

.NET MD5加密解密代码

MD5简介: 是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是MD2.MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要.虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑.这三个算法的描述和C语言源代码在Internet RFCs 1321中有详细的描述,这是一份最权威的文档

C#中RSA加密解密和签名与验证的实现

RSA加密算法是一种非对称加密算法.在公钥加密标准和电子商业中RSA被广泛使用.RSA是1977年由罗纳德•李维斯特(Ron Rivest).阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA就是他们三人姓氏开头字母拼在一起组成的..Net的推出,我们能够利用.Net Framework中的类提供的加密服务来保证数据安全.目前应用较为广泛的加密方法是使用RSA算法进行加密.在.Net Framework中与R

C# 加密(Encrypt) 解密(Decrypt) 操作类 java与 C# 可以相互加密解密

public sealed class EncryptUtils { #region Base64加密解密 /// <summary> /// Base64加密 /// </summary> /// <param name="input">需要加密的字符串</param> /// <returns></returns> public static string Base64Encrypt(string input)