页面数据加密解密

 /// <summary>
        /// 加密字符串
        /// 注意:密钥必须为8位
        /// </summary>
        /// <param name="strText">字符串</param>
        /// <param name="encryptKey">密钥</param>
        /// <param name="encryptKey">返回加密后的字符串</param>
        public static string Lock(string inputString, string encryptKey)
        {
            byte[] byKey = null;
            byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
            try
            {
                byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                byte[] inputByteArray = Encoding.UTF8.GetBytes(inputString);
                MemoryStream ms = new MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                return Convert.ToBase64String(ms.ToArray());
            }
            catch (System.Exception error)
            {
                //return error.Message;
                return null;
            }
        }
        /// <summary>
        /// 解密字符串
        /// </summary>
        /// <param name="this.inputString">加了密的字符串</param>
        /// <param name="decryptKey">密钥</param>
        /// <param name="decryptKey">返回解密后的字符串</param>
        public static string UnLock(string inputString, string decryptKey)
        {
            byte[] byKey = null;
            byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
            byte[] inputByteArray = new Byte[inputString.Length];
            try
            {
                byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                inputByteArray = Convert.FromBase64String(inputString);
                MemoryStream ms = new MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                System.Text.Encoding encoding = new System.Text.UTF8Encoding();
                return encoding.GetString(ms.ToArray());
            }
            catch (System.Exception error)
            {
                //return error.Message;
                return null;
            }
        }

转载于:https://www.cnblogs.com/haofaner/p/3567341.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个简单的 Python GUI 程序,用于加密解密文本。这个程序使用 Fernet 加密算法,Fernet 是一种现代的对称加密算法,它使用 AES 加密来保护数据的机密性。下面是代码: ```python from cryptography.fernet import Fernet import tkinter as tk root = tk.Tk() root.geometry("300x250") root.title("加密解密小工具") key_label = tk.Label(root, text="请输入密钥:") key_label.pack() key_entry = tk.Entry(root, show="*") key_entry.pack() text_label = tk.Label(root, text="请输入要加密/解密的文本:") text_label.pack() text_entry = tk.Entry(root) text_entry.pack() result_label = tk.Label(root, text="") result_label.pack() def encrypt(): key = key_entry.get().encode() message = text_entry.get().encode() f = Fernet(key) encrypted = f.encrypt(message) result_label.config(text="加密结果:" + encrypted.decode()) def decrypt(): key = key_entry.get().encode() message = text_entry.get().encode() f = Fernet(key) decrypted = f.decrypt(message) result_label.config(text="解密结果:" + decrypted.decode()) encrypt_button = tk.Button(root, text="加密", command=encrypt) encrypt_button.pack() decrypt_button = tk.Button(root, text="解密", command=decrypt) decrypt_button.pack() root.mainloop() ``` 这个程序会创建一个简单的 GUI 界面,其中包含一个输入密钥的文本框、一个输入要加密/解密的文本的文本框、两个按钮(加密和解密)和一个用于显示结果的标签。用户可以输入密钥和需要加密/解密的文本,然后点击相应的按钮进行加密或解密操作。 请注意,这个程序只是一个简单的示例,仅供参考。在实际使用中,你需要更加严格地保护密钥的安全性,并采用更加复杂的加密算法来保护你的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值