加密和解密演算法的兩個實現

2022-08-29 09:15:10 字數 2347 閱讀 3684

最近一段時間,集團加強了資安方面的管理,所有敏感的配置位元組都必須經過加密處理,把最近用到的幾個加解密類整理了一下,以做備忘.

其實這兩個類實現的方法差不多,只是有些細微區別:

對稱加密演演算法類 symmetricmethodhelper

using

system;

using

system.io;

using

system.security.cryptography;

using

system.text;

//////

對稱加密演演算法類

///public

class

symmetricmethodhelper

//////

對稱加密類的建構函式

///public

symmetricmethodhelper(

string

key)

//////

獲得金鑰

//////

金鑰private

byte

getlegalkey()

//////

獲得初始向量iv

//////

初試向量iv

private

byte

getlegaliv()

//////

加密方法

//////

待加密的串

///經過加密的串

public

string

encrypto(

string

source)

//////

解密方法

//////

待解密的串

///經過解密的串

public

string

decrypto(

string

source)

}code

using

system;

using

system.text;

using

system.io;

using

system.security.cryptography;

public

class

encryptutil 

//////

des解密

//////

///public

static

string

desdecrypt(

string

encryptedtext) 

//////

des加密,功能同desencrypt相同

//////

///public

static

string

desencode(

string

cleartext) 

//////

des解密,功能同desdecrypt相同

//////

///public

static

string

desdecode(

string

encryptedtext) 

catch

descryptoserviceprovider cryptoprovider 

=new

descryptoserviceprovider();

memorystream memstream 

=new

memorystream(bytearray);

cryptostream crystream 

=new

cryptostream(memstream, cryptoprovider.createdecryptor(bykey, byiv), cryptostreammode.read);

streamreader sr 

=new

streamreader(crystream);

return

sr.readtoend();

}private

const

string

key_64 ="

mypubkey

";  

//公鑰

private

const

string

iv_64 ="

myprikey

";   

//私鑰,注意了:是8個字元,64位

}     注意這兩段程式碼標註為紅色部分的差異,其中symmetricmethodhelper類支援超過8位的私鑰,而encryptutil類不支援超過8位的私鑰. 

各種加密和解密演算法的實現

stevendataencryption 的摘要說明 public class stevendataencryption 預設金鑰加密演算法 public static byte keys region des加密演算法 des加密方法 要加密的字串 金鑰的位數 public static stri...

加密和解密 delphi實現

加密流程 先把每個字元與自己在字串中的位置異或運算,然後再與金鑰進行異或運算 然後把金鑰加在最後,最後把所得的結果進行base64編碼 解密時反之 先解碼,再解密。function tfrmclassroom.cryptstr const s string stype allint string v...

Java常見加密和解密演算法

byte hex utility class public class bytehexutils return bf.array param bytes public static string bytes2hex byte bytes return result base64 utility cl...