Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ElinEncoder.cs
Go to the documentation of this file.
1using System;
2using System.IO;
3using System.Security.Cryptography;
4using System.Text;
5
6public class ElinEncoder
7{
8 private const string key = "123456789012345678901234";
9
10 private const string iv = "12345678";
11
12 public static string AesEncrypt(string srcStr)
13 {
14 TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider = new TripleDESCryptoServiceProvider();
15 byte[] bytes = Encoding.UTF8.GetBytes(srcStr);
16 MemoryStream memoryStream = new MemoryStream();
17 CryptoStream cryptoStream = new CryptoStream(memoryStream, tripleDESCryptoServiceProvider.CreateEncryptor(Encoding.UTF8.GetBytes("123456789012345678901234"), Encoding.UTF8.GetBytes("12345678")), CryptoStreamMode.Write);
18 cryptoStream.Write(bytes, 0, bytes.Length);
19 cryptoStream.Close();
20 byte[] inArray = memoryStream.ToArray();
21 memoryStream.Close();
22 return Convert.ToBase64String(inArray);
23 }
24
25 public static string AesDecrypt(string encStr)
26 {
27 TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider = new TripleDESCryptoServiceProvider();
28 byte[] array = Convert.FromBase64String(encStr);
29 MemoryStream memoryStream = new MemoryStream();
30 CryptoStream cryptoStream = new CryptoStream(memoryStream, tripleDESCryptoServiceProvider.CreateDecryptor(Encoding.UTF8.GetBytes("123456789012345678901234"), Encoding.UTF8.GetBytes("12345678")), CryptoStreamMode.Write);
31 cryptoStream.Write(array, 0, array.Length);
32 cryptoStream.Close();
33 byte[] bytes = memoryStream.ToArray();
34 memoryStream.Close();
35 return Encoding.UTF8.GetString(bytes);
36 }
37
38 public static string GetCode(int idBacker, int index)
39 {
40 return AesEncrypt(idBacker.ToString("0000") + index).TrimEnd('=');
41 }
42
43 public static string GetID(string code)
44 {
45 return AesDecrypt(code + "=");
46 }
47
48 public static bool IsValid(string code)
49 {
50 try
51 {
52 int result;
53 return int.TryParse(AesDecrypt(code + "="), out result);
54 }
55 catch
56 {
57 }
58 return false;
59 }
60}
static string GetCode(int idBacker, int index)
Definition: ElinEncoder.cs:38
static string AesEncrypt(string srcStr)
Definition: ElinEncoder.cs:12
static string GetID(string code)
Definition: ElinEncoder.cs:43
const string iv
Definition: ElinEncoder.cs:10
const string key
Definition: ElinEncoder.cs:8
static string AesDecrypt(string encStr)
Definition: ElinEncoder.cs:25
static bool IsValid(string code)
Definition: ElinEncoder.cs:48