· 8 years ago · Dec 05, 2017, 12:18 AM
1final MessageDigest md = MessageDigest.getInstance("md5");
2 final byte[] digestOfPassword = md.digest("asdu4MHkqz32ageqmB6mSsdi"
3 .getBytes("utf-8"));
4 final byte[] keyBytes = Arrays.copyOf(digestOfPassword, 24);
5 for (int j = 0, k = 16; j < 8;) {
6 keyBytes[k++] = keyBytes[j++];
7 }
8
9 final SecretKey key = new SecretKeySpec(keyBytes, 0, 24, "DESede");
10 final IvParameterSpec iv = new IvParameterSpec("jzs8bUAx".getBytes("UTF-8"));
11 final Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");
12 cipher.init(Cipher.ENCRYPT_MODE, key, iv);
13
14 final byte[] plainTextBytes = message.getBytes("utf-8");
15 final byte[] cipherText = cipher.doFinal(plainTextBytes,0,plainTextBytes.length);
16 // final String encodedCipherText = new sun.misc.BASE64Encoder()
17 // .encode(cipherText);
18
19 return cipherText;
20}
21
22public string Encrypt(string toEncrypt, bool useHashing)
23 {
24 try
25 {
26 byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);
27
28 string key = "asdu4MHkqz32ageqmB6mSsdi";
29 byte[] iv = UTF8Encoding.UTF8.GetBytes("jzs8bUAx");
30
31 if (useHashing)
32 {
33 MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
34
35 keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
36
37 hashmd5.Clear();
38 }
39 //else keyArray = UTF8Encoding.UTF8.GetBytes(key);
40
41
42 TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
43
44 tdes.Key = keyArray;
45 tdes.IV = iv;
46 tdes.Mode = CipherMode.CBC;
47 tdes.Padding = PaddingMode.Zeros;
48
49 ICryptoTransform cTransform = tdes.CreateEncryptor();
50
51 resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
52
53 tdes.Clear();
54
55 return Convert.ToBase64String(resultArray, 0, resultArray.Length);
56 }
57 catch (Exception ex)
58 {
59 return ex.Message;
60 }
61 }