jt
2021-06-10 5d0d028456874576560552f5a5c4e8b801786f11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using HH.WMS.Utils;
namespace HH.WMS.Utils
{
    public partial class ZEncypt
    {
        //ĬÈÏÃÜÔ¿ÏòÁ¿
        private static byte[] AESKeys = { 0x41, 0x72, 0x65, 0x79, 0x6F, 0x75, 0x6D, 0x79, 0x53, 0x6E, 0x6F, 0x77, 0x6D, 0x61, 0x6E, 0x3F };
        /// <summary>
        /// DES¼ÓÃÜ×Ö·û´®
        /// </summary>
        /// <param name="encryptString">´ý¼ÓÃܵÄ×Ö·û´®</param>
        /// <param name="encryptKey">¼ÓÃÜÃÜÔ¿,ÒªÇóΪ8λ</param>
        /// <returns>¼ÓÃܳɹ¦·µ»Ø¼ÓÃܺóµÄ×Ö·û´®,ʧ°Ü·µ»ØÔ´´®</returns>
        public static string AESEncrypt(string encryptString, string encryptKey)
        {
            encryptKey = ZString.GetSubString(encryptKey, 32, "");
            encryptKey = encryptKey.PadRight(32, ' ');
 
            RijndaelManaged rijndaelProvider = new RijndaelManaged();
            rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
            rijndaelProvider.IV = AESKeys;
            ICryptoTransform rijndaelEncrypt = rijndaelProvider.CreateEncryptor();
 
            byte[] inputData = Encoding.UTF8.GetBytes(encryptString);
            byte[] encryptedData = rijndaelEncrypt.TransformFinalBlock(inputData, 0, inputData.Length);
 
            return Convert.ToBase64String(encryptedData);
        }
 
        /// <summary>
        /// DES½âÃÜ×Ö·û´®
        /// </summary>
        /// <param name="decryptString">´ý½âÃܵÄ×Ö·û´®</param>
        /// <param name="decryptKey">½âÃÜÃÜÔ¿,ÒªÇóΪ8λ,ºÍ¼ÓÃÜÃÜÔ¿Ïàͬ</param>
        /// <returns>½âÃܳɹ¦·µ»Ø½âÃܺóµÄ×Ö·û´®,ʧ°Ü·µÔ´´®</returns>
        public static string AESDecrypt(string decryptString, string decryptKey)
        {
            try
            {
                decryptKey = ZString.GetSubString(decryptKey, 32, "");
                decryptKey = decryptKey.PadRight(32, ' ');
 
                RijndaelManaged rijndaelProvider = new RijndaelManaged();
                rijndaelProvider.Key = Encoding.UTF8.GetBytes(decryptKey);
                rijndaelProvider.IV = AESKeys;
                ICryptoTransform rijndaelDecrypt = rijndaelProvider.CreateDecryptor();
 
                byte[] inputData = Convert.FromBase64String(decryptString);
                byte[] decryptedData = rijndaelDecrypt.TransformFinalBlock(inputData, 0, inputData.Length);
 
                return Encoding.UTF8.GetString(decryptedData);
            }
            catch
            {
                return "";
            }
 
        }
 
    }
    }