• 加密解密-C#


    public static string Encrypt(string strPWtoEncrypt)
            {
                string CurrentFunction = "" + CommonSettings.ModNFunComStr + "Encrypt";
                try
                {
                    string strPword=string.Empty;
                    byte bytCount;
                    int intTemp;
    
                    for (bytCount = 1; bytCount <= strPWtoEncrypt.Length; bytCount++)
                    {
                        intTemp = Convert.ToChar(strPWtoEncrypt.Substring(bytCount - 1, 1));
                        if (bytCount % 2 == 0)
                        {
                            intTemp = intTemp - 0;
                        }
                        else
                        {
                            intTemp = intTemp + 0;
                        }
                        intTemp = intTemp ^ (10 - 0);
                        strPword = strPword + Chr(intTemp);
                    }
                    string strEncrypt = strPword;
                    strEncrypt = strEncrypt.Replace("\\", "{01}");
                    strEncrypt = strEncrypt.Replace("/", "{02}");
                    strEncrypt = strEncrypt.Replace(":", "{03}");
                    strEncrypt = strEncrypt.Replace("*", "{04}");
                    strEncrypt = strEncrypt.Replace("?", "{05}");
                    strEncrypt = strEncrypt.Replace("\"", "{06}");
                    strEncrypt = strEncrypt.Replace("<", "{07}");
                    strEncrypt = strEncrypt.Replace(">", "{08}");
                    strEncrypt = strEncrypt.Replace("|", "{09}");
                    return strEncrypt;
                }
                catch (Exception ex)
                {
                    //LogManager.WriteTextLog(CurrentFunction, ex);
                    return "";
                }
            }
    
            public static string Decrypt(string strPWtoDecrypt)
            {
                string CurrentFunction = "" + CommonSettings.ModNFunComStr + "Decrypt";
                try
                {
                    string strPword=string.Empty;
                    byte bytCount;
                    int intTemp;
    
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{01}", "\\");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{02}", "/");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{03}", ":");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{04}", "*");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{05}", "?");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{06}", "\"");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{07}", "<");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{08}", ">");
                    strPWtoDecrypt = strPWtoDecrypt.Replace("{09}", "|");
    
                    for (bytCount = 1; bytCount <= strPWtoDecrypt.Length; bytCount++)
                    {
                        intTemp = Convert.ToChar(strPWtoDecrypt.Substring(bytCount - 1, 1));
                        intTemp = intTemp ^ (10 - 0);
                        if (bytCount % 2 == 0)
                        {
                            intTemp = intTemp + 0;
                        }
                        else
                        {
                            intTemp = intTemp - 0;
                        }
                        
                        strPword = strPword + Chr(intTemp);
                    }
    
                    return strPword;
                }
                catch (Exception ex)
                {
                    //LogManager.WriteTextLog(CurrentFunction, ex);
                    return "";
                }
            }
    
            public static int Asc(string character)
            {
                if (character.Length == 1)
                {
                    System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
                    int intAsciiCode = (int)asciiEncoding.GetBytes(character)[0];
                    return (intAsciiCode);
                }
                else
                {
                    throw new Exception("Character is not valid.");
                }
    
            }
            public static string Chr(int asciiCode)
            {
                if (asciiCode >= 0 && asciiCode <= 255)
                {
                    System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
                    byte[] byteArray = new byte[] { (byte)asciiCode };
                    string strCharacter = asciiEncoding.GetString(byteArray);
                    return (strCharacter);
                }
                else
                {
                    throw new Exception("ASCII Code is not valid.");
                }
            }
    
  • 相关阅读:
    MySQL LIMIT OFFSET
    Sublime Text 3安装清爽主题(著名的Soda Theme)
    MySQL无法远程连接解决方案
    算法题:李嘉诚保险柜密码问题
    一些不错的算法学习练习站点
    [转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题
    使用什么工具连接MySQL Server
    CentOS 7修改MySQL 5.6字符集为UTF-8
    CentOS 7 Minimal编译安装MySQL5.6
    如何使浏览器默认下载文件而不是打开文件
  • 原文地址:https://www.cnblogs.com/blackbean/p/2014411.html
Copyright © 2020-2023  润新知