Phiên bản thu gọn của D-InCore.NetFramework 4.0 built 12.03.2012
Hỗ Trợ mã hóa theo các cơ chế sau:
>CryptographyCeasar
>CryptographyMD5
>CryptographyString2Base64
>CrytigraphyUTF8
>CrytographyUTF32
Các phương thức trên thuộc lớp CryptographyLib
Vì thời gian mình up trước 5 phương thức còn 2 cái nữa ^^
Link:[MF]
TestKit:[MF] yêu cầu admin để có pass
Các bạn vào Add references để add thư viện CryptographyLib.dll vào nha
Thứ Năm, 17 tháng 5, 2012
KB0001 Các phương pháp mã hóa chuỗi
Dạng 1 Có Authentication
Step1:Encode
public string EnCryptMD5(string strEnCrypt, string key)
{
try
{
byte[] keyArr;
byte[] EnCryptArr = UTF8Encoding.UTF8.GetBytes(strEnCrypt);
MD5CryptoServiceProvider MD5Hash = new MD5CryptoServiceProvider();
keyArr = MD5Hash.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
TripleDESCryptoServiceProvider tripDes = new TripleDESCryptoServiceProvider();
tripDes.Key = keyArr;
tripDes.Mode = CipherMode.ECB;
tripDes.Padding = PaddingMode.PKCS7;
ICryptoTransform transform = tripDes.CreateEncryptor();
byte[] arrResult = transform.TransformFinalBlock(EnCryptArr, 0, EnCryptArr.Length);
return Convert.ToBase64String(arrResult, 0, arrResult.Length);
}
catch (Exception ex) { }
return "";
}
Step2:Decode
public string DeCryptMD5(string strDecypt, string key)
{
try
{
byte[] keyArr;
byte[] DeCryptArr = Convert.FromBase64String(strDecypt);
MD5CryptoServiceProvider MD5Hash = new MD5CryptoServiceProvider();
keyArr = MD5Hash.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
TripleDESCryptoServiceProvider tripDes = new TripleDESCryptoServiceProvider();
tripDes.Key = keyArr;
tripDes.Mode = CipherMode.ECB;
tripDes.Padding = PaddingMode.PKCS7;
ICryptoTransform transform = tripDes.CreateDecryptor();
byte[] arrResult = transform.TransformFinalBlock(DeCryptArr, 0, DeCryptArr.Length);
return UTF8Encoding.UTF8.GetString(arrResult);
}
catch (Exception ex) { }
return "";
}
Step1:Encode
public string EnCryptMD5(string strEnCrypt, string key)
{
try
{
byte[] keyArr;
byte[] EnCryptArr = UTF8Encoding.UTF8.GetBytes(strEnCrypt);
MD5CryptoServiceProvider MD5Hash = new MD5CryptoServiceProvider();
keyArr = MD5Hash.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
TripleDESCryptoServiceProvider tripDes = new TripleDESCryptoServiceProvider();
tripDes.Key = keyArr;
tripDes.Mode = CipherMode.ECB;
tripDes.Padding = PaddingMode.PKCS7;
ICryptoTransform transform = tripDes.CreateEncryptor();
byte[] arrResult = transform.TransformFinalBlock(EnCryptArr, 0, EnCryptArr.Length);
return Convert.ToBase64String(arrResult, 0, arrResult.Length);
}
catch (Exception ex) { }
return "";
}
Step2:Decode
public string DeCryptMD5(string strDecypt, string key)
{
try
{
byte[] keyArr;
byte[] DeCryptArr = Convert.FromBase64String(strDecypt);
MD5CryptoServiceProvider MD5Hash = new MD5CryptoServiceProvider();
keyArr = MD5Hash.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
TripleDESCryptoServiceProvider tripDes = new TripleDESCryptoServiceProvider();
tripDes.Key = keyArr;
tripDes.Mode = CipherMode.ECB;
tripDes.Padding = PaddingMode.PKCS7;
ICryptoTransform transform = tripDes.CreateDecryptor();
byte[] arrResult = transform.TransformFinalBlock(DeCryptArr, 0, DeCryptArr.Length);
return UTF8Encoding.UTF8.GetString(arrResult);
}
catch (Exception ex) { }
return "";
}
Dạng 2 Không cần Authentication
fig 1:String to Base 64
public string EncodeStringToBase64(string src)
{
byte[] b = Encoding.Unicode.GetBytes(src);
return Convert.ToBase64String(b);
}
public string DecodeBase64ToString(string src)
{
byte[] b = Convert.FromBase64String(src);
return Encoding.Unicode.GetString(b);
}
{
byte[] b = Encoding.Unicode.GetBytes(src);
return Convert.ToBase64String(b);
}
public string DecodeBase64ToString(string src)
{
byte[] b = Convert.FromBase64String(src);
return Encoding.Unicode.GetString(b);
}
fig 2:Codec UTF8
public string EncodeTo64UTF8(string m_enc)
{
byte[] toEncodeAsBytes =
System.Text.Encoding.UTF8.GetBytes(m_enc);
string returnValue =
System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}
public string DecodeFrom64(string m_enc)
{
byte[] encodedDataAsBytes =
System.Convert.FromBase64String(m_enc);
string returnValue =
System.Text.Encoding.UTF8.GetString(encodedDataAsBytes);
return returnValue;
}
{
byte[] toEncodeAsBytes =
System.Text.Encoding.UTF8.GetBytes(m_enc);
string returnValue =
System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}
public string DecodeFrom64(string m_enc)
{
byte[] encodedDataAsBytes =
System.Convert.FromBase64String(m_enc);
string returnValue =
System.Text.Encoding.UTF8.GetString(encodedDataAsBytes);
return returnValue;
}
fig 3:Codec UTF32
public string EncodeToUTF32(string m_enc)
{
byte[] toEncodeAsBytes =
System.Text.Encoding.UTF32.GetBytes(m_enc);
string returnValue =
System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}
public string DecodeFromUTF32(string m_enc)
{
byte[] encodedDataAsBytes =
System.Convert.FromBase64String(m_enc);
string returnValue =
System.Text.Encoding.UTF32.GetString(encodedDataAsBytes);
return returnValue;
}
{
byte[] toEncodeAsBytes =
System.Text.Encoding.UTF32.GetBytes(m_enc);
string returnValue =
System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}
public string DecodeFromUTF32(string m_enc)
{
byte[] encodedDataAsBytes =
System.Convert.FromBase64String(m_enc);
string returnValue =
System.Text.Encoding.UTF32.GetString(encodedDataAsBytes);
return returnValue;
}
fig 4:Int to base64
public static string IntToBase64(int src)
{
byte[] b = BitConverter.GetBytes(src);
return Convert.ToBase64String(b);
}
public static int Base64ToInt(string src)
{
byte[] b = Convert.FromBase64String(src);
return BitConverter.ToInt32(b, 0);
}
{
byte[] b = BitConverter.GetBytes(src);
return Convert.ToBase64String(b);
}
public static int Base64ToInt(string src)
{
byte[] b = Convert.FromBase64String(src);
return BitConverter.ToInt32(b, 0);
}
fig 5:Using RSA key
Các bạn có thể phối hợp các dạng với nhau để có được hiệu quả tốt nhất
System
.Security.Cryptography.RSACryptoServiceProvider Provider = new System.Security.Cryptography.RSACryptoServiceProvider();Provider
.ImportParameters(your_rsa_key);byte
[] encrypted = Provider.Encrypt(System.Text.Encoding.UTF8.GetBytes("Hello World!"), true);string
decrypted =System.Text.Encoding.UTF8.GetString(Provider.Decrypt(encrypted, true));Các bạn có thể phối hợp các dạng với nhau để có được hiệu quả tốt nhất
Đăng ký:
Bài đăng (Atom)