C 非對稱加密,RSA加解密示例

2021-10-22 19:04:00 字數 2410 閱讀 3409

引入dll(bouncycastle.crypto)

金鑰實體

/// 

/// 金鑰實體

///

public

class

rsakey

///

/// 私鑰

///

public

string privatekey

}

rsa加密和解密

using system;

using system.collections.generic;

using system.linq;

using system.web;

using org.bouncycastle.asn1.pkcs;

using org.bouncycastle.asn1.x509;

using org.bouncycastle.crypto.generators;

using org.bouncycastle.crypto.parameters;

using org.bouncycastle.math;

using org.bouncycastle.pkcs;

using org.bouncycastle.security;

using org.bouncycastle.crypto.engines;

using org.bouncycastle.x509;

using org.bouncycastle.crypto;

using org.bouncycastle.asn1;

using org.bouncycastle.crypto.encodings;

///

/// rsa加密

///

public

class

rsacrypto;}

///

/// 獲取公鑰資料

///

/// 公鑰

///

private

asymmetrickeyparameter

getpublickeyparameter

(string key)

///

/// 獲取私鑰資料

///

/// 私鑰

///

private

asymmetrickeyparameter

getprivatekeyparameter

(string key)

///

/// 私鑰加密

///

/// 值

/// 私鑰

///

public

string

encryptbyprivatekey

(string val,

string key)

catch

(exception ex)

}///

/// 私鑰解密

///

/// 值

/// 公鑰

///

public

string

decryptbyprivatekey

(string val,

string key)

catch

(exception ex)

}///

/// 公鑰加密

///

/// 值

/// 公鑰

///

public

string

encryptbypublickey

(string val,

string key)

catch

(exception ex)

}///

/// 公鑰解密

///

/// 值

/// 公鑰

///

public

string

decryptbypublickey

(string val,

string key)

catch

(exception ex)

}///

/// 替換指定字串

///

/// 字串

///

public

string

replacecharacter

(string character)

}

呼叫示例

protected

void

page_load

(object sender,

eventargs e)

4、原始碼

rsa加密解密, 非對稱加密

2016年3月17日 17 21 08 星期四 現在越來越懶了.參考 左邊是加密流程,右邊是解密流程 呃.有乙個錯別字,摘 2018 3 21 11 17 54 星期三 參考 所謂非對稱加密,其實很簡單,就是加密和解密需要兩把鑰匙 一把公鑰和一把私鑰 公鑰是公開的,任何人都可以獲取。私鑰是保密的,只...

RSA 非對稱加密與解密

private static string encrypt string msg,string publickey ms.position 0 byte decode new byte ms.length ms.read decode,0,int ms.length string decodeinf...

RSA不限長度非對稱加密解密C

rsa 是常用的非對稱加密演算法。最近使用時卻出現了 不正確的長度 的異常,研究發現是由於待加密的資料超長所致。net framework 中提供的 rsa 演算法規定 待加密的位元組數不能超過金鑰的長度值除以 8 再減去 11 即 rsacryptoserviceprovider.keysize ...