• 简单的加密与解密代码


    using System;
    using System.IO;
    using System.Security.Cryptography;
    using System.Text;

    namespace FaibClass.Encrypting
    {

        
    public class BaseEncrypt
        {
            
    /**////<summary> 
            
    /// 加密
            
    /// </summary> 
            
    /// <param name="s">需加密的字串</param> 
            
    /// <param name="k">密钥</param> 
            
    /// <returns></returns> 
            public static string EncryptString(string s,string k)
            {
                
    byte[] byKey=null;
                
    byte[] IV= {0x120x340x560x780x900xAB0xCD0xEF};
                
    try
                {
                    
    if(k.Length>8)
                        byKey 
    = System.Text.Encoding.UTF8.GetBytes(k.Substring(0,8));
                    
    else
                        byKey 
    = System.Text.Encoding.UTF8.GetBytes((k+(new string('V',8-k.Length))));
                    
                    DESCryptoServiceProvider des 
    = new DESCryptoServiceProvider();
                    
    byte[] inputByteArray = Encoding.UTF8.GetBytes(s);
                    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)
                {
                    
    throw new Exception(error.Message);
                }
            }

            
    /**////<summary> 
            
    /// 解密
            
    /// </summary> 
            
    /// <param name="s">需解密的字串</param> 
            
    /// <param name="k">密钥</param> 
            
    /// <returns></returns> 
            public static string DecryptString(string s,string k)
            {
                
    byte[] byKey = null;
                
    byte[] IV= {0x120x340x560x780x900xAB0xCD0xEF}; 
                
    byte[] inputByteArray = new Byte[s.Length];
                
    try
                {
                    
    if(k.Length>8)
                        byKey 
    = System.Text.Encoding.UTF8.GetBytes(k.Substring(0,8));
                    
    else
                        byKey 
    = System.Text.Encoding.UTF8.GetBytes((k+(new string('V',8-k.Length))));

                    DESCryptoServiceProvider des 
    = new DESCryptoServiceProvider();
                    inputByteArray 
    = Convert.FromBase64String(s);
                    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)
                {
                    
    throw new Exception(error.Message);
                }
            }
        }
    }

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    关联规则算法---Eclat算法
    Apriori算法第二篇----详细分析和代码实现
    scrapy框架初识
    git入门
    phantomjs的和谷歌浏览器的简单使用
    selenium模块的而简单使用
    代理ip的使用以及多进程爬取
    爬虫之re块解析
    爬虫初识和request使用
    xpath的基础使用
  • 原文地址:https://www.cnblogs.com/Athrun/p/711520.html
Copyright © 2020-2023  润新知