关闭

如何使用Base64进行加密和解密

标签: 加密bytebuffernullstringinput
319人阅读 评论(0) 收藏 举报

 

//----------------------------- Base64 class --------------------------------------
//---------------------------------------------------------------------------------
//---File:          clsBase64
//---Description:   The class file to encode string or decode string in base algorithm 
//---Author:        Knight
//---Created Date:  Oct.8, 2005
//---Modified Date: Jul.4, 2006
//---------------------------------------------------------------------------------
//----------------------------{ Base64 class }-------------------------------------

using System;

namespace Base64
{
    
using System.Text;
    
/// <summary>
    
/// Summary description for clsBase64.
    
/// </summary>

    public class clsBase64
    
{
        
protected clsBase64()
        
{
            
//Avoid to be inited
        }


        
Base64_Algorithm_Implement 
        
/// <summary>
        
/// Encrypt data based on specific key
        
/// </summary>
        
/// <param name="Data">the data to be encrypted</param>
        
/// <param name="Key">key data</param>
        
/// <returns>If successfully, return encrypted string; else return NULL</returns>

        public static string EncryptData( string Data, string Key )
        
{
            
if( Data == null || Data == "" ) return null;

            
if( Key == null || Key == "" ) return null;

            
char[] chrEncrypted = GetEncoded( Key.ToCharArray(), 
                Encoding.Unicode.GetBytes( Data ) );
            
if( chrEncrypted != null )
                
return new string( chrEncrypted );
            
else
                
return null;
        }

        
/// <summary>
        
/// Decrypt data based on specific key
        
/// </summary>
        
/// <param name="Data">the data to be decrypted</param>
        
/// <param name="Key">key data</param>
        
/// <returns>If successfully, return decrypted string; else return NULL</returns>

        public static string DecryptData( string Data, string Key )
        
{
            
if( Data == null || Data == "" ) return null;

            
if( Key == null || Key == "" ) return null;

            
byte[] bDecrypted = GetDecoded( Key.ToCharArray(),
                Data.ToCharArray() );
            
if( bDecrypted != null )
                
return Encoding.Unicode.GetString( bDecrypted );
            
else
                
return null;
        }

    }


}

// 调用如下:
  
// Encrypt data 
    string strEncryptedData = Base64.clsBase64.EncryptData(  yourData, yourKey );  
    
if( strEncryptedData != null )
        MessageBox.Show( strEncryptedData );

    
// Decrypt data
    string strDecryptedData = Base64.clsBase64.DecryptData(  yourData, yourKey );
    
if( strDecryptedData != null )
        MessageBox.Show( strDecryptedData );
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8625次
    • 积分:119
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档