36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using System.Text;
|
|
|
|
namespace SGModule.Common.Helper {
|
|
public class Cryptor {
|
|
public static string Encrypt(string data, string key) {
|
|
var keyMD5 = MD5Helper.MD5String1(key);
|
|
var str = Base64Helper.Encode(data + keyMD5);
|
|
|
|
var bytes = Encoding.UTF8.GetBytes(str);
|
|
for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1) {
|
|
if (i % 2 == 0) {
|
|
(bytes[i], bytes[j]) = (bytes[j], bytes[i]);
|
|
}
|
|
}
|
|
|
|
var loginData = Encoding.UTF8.GetString(bytes);
|
|
return loginData;
|
|
}
|
|
|
|
public static string Decrypt(string data, string key) {
|
|
var bytes = Encoding.UTF8.GetBytes(data);
|
|
for (int i = 0, j = bytes.Length - 1; i < j; i += 1, j -= 1) {
|
|
if (i % 2 == 0) {
|
|
(bytes[i], bytes[j]) = (bytes[j], bytes[i]);
|
|
}
|
|
}
|
|
|
|
var str = Encoding.UTF8.GetString(bytes);
|
|
var str1 = Base64Helper.Decode(str);
|
|
var keyMD5 = MD5Helper.MD5String1(key);
|
|
var result = str1.Replace(keyMD5, string.Empty);
|
|
return result;
|
|
}
|
|
}
|
|
}
|