C 做的乙個加密 解密的類

2021-08-29 06:42:47 字數 3322 閱讀 8679

前兩年寫的東西,現在整理一下發出來!以前公司需要做webservice,並且對webservice的soapheader進行加密,所以就寫了這麼個東東!使用這個類,需要金鑰管理!為了保證資料的安全性往往要對資料進行加密,但是加密的缺點之一,就是影響程式的執行效率,所以,當時我的思路是只對使用者的登入資訊(使用者名稱,密碼)進行加密!資料用明文傳輸,使用者資訊驗證沒有通過的情況下, 不進行資料傳輸。

還有一點安全建議,就是定期的更換金鑰,在這個例子中,我用的是對稱加密,加密方和解密方的金鑰一致!定期的更換金鑰可以讓安全性提高一大截!

**如下:

using system;

using system.security.cryptography ;

using system.text;

using system.io;

namespace sedo

; //定義加密類

internal class encrypttransformer

internal icryptotransform getcryptoserviceprovider(byte byteskey)

else

// see if the client provided an initialization vector

if (null == initvec)

else

return des.createencryptor();

} case encryptionalgorithm.tripledes:

else

// see if the client provided an iv

if (null == initvec)

else

return des3.createencryptor();

} case encryptionalgorithm.rc2:

else

// see if the client provided an iv

if (null == initvec)

else

return rc2.createencryptor();

} case encryptionalgorithm.rijndael:

else

// see if the client provided an iv

if(null == initvec)

else

return rijndael.createencryptor();

} default: }

} //加密的偏移向量

internal byte iv

set

} //加密的金鑰

internal byte key

set

} }

//定**密類

internal class decrypttransformer

//加密的偏移向量

internal byte iv

set

} //加密的金鑰

internal byte key

set

} internal icryptotransform getcryptoserviceprovider(byte byteskey)

case encryptionalgorithm.tripledes:

case encryptionalgorithm.rc2:

case encryptionalgorithm.rijndael:

default: }

} //end getcryptoserviceprovider

} //定義加密者類

public class encryptor

public byte encrypt(byte bytesdata, byte byteskey,byte bytesiv)

catch(exception ex)

//設定加密的key和初始向量iv屬性

enckey = transformer.key;

initvec = transformer.iv;

encstream.flushfinalblock();

encstream.close();

//send the data back.

return memstreamencrypteddata.toarray();

} public byte iv

set

} public byte key

set

} }

//定**密者類

public class decryptor

public byte decrypt(byte bytesdata, byte byteskey,byte bytesiv)

catch(exception ex)

decstream.flushfinalblock();

decstream.close();

// 返回解密資料.

return memstreamdecrypteddata.toarray();

} public byte iv

set

} public byte key

set

} }

//類描述:檔案加密/解密類

public class securityfile

//加密的偏移向量

internal byte iv

set

} //加密的金鑰

internal byte key

set

} //功能描述:加密檔案

public void encryptfile(string infilename, string outfilename, byte byteskey, byte bytesiv)

encstream.close();

fout.close();

fin.close();

} catch(exception ex) }

//功能描述:解密檔案

public void decryptfile(string infilename, string outfilename, byte byteskey, byte bytesiv)

encstream.close();

fout.close();

fin.close();

} catch(exception ex) }

} } 

C 乙個封裝的加密解密類

using system using system.text using system.globalization using system.security.cryptography using system.windows.forms namespace jh.encrypts 使用預設金鑰字串...

C 乙個封裝的加密解密類

using system using system.text using system.globalization using system.security.cryptography using system.windows.forms namespace jh.encrypts 使用預設金鑰字串...

C 乙個封裝的加密解密類

using system using system.text using system.globalization using system.security.cryptography using system.windows.forms namespace jh.encrypts 使用預設金鑰字串...