C 完整的RSA操作類

2022-03-06 08:56:07 字數 3904 閱讀 9209

using 

system;

using

system

.collections

.generic;

using

system

.text;

using

system

.management;

using

system

.security

.cryptography;

using

microsoft

.win32;

using

system

.io;

namespace

jxrsalibrary

catch

(exception

exception)

}/// ///

對原始資料進行md5加密

///

///

待加密資料

///

返回機密後的資料

public string

gethash(

string

m_strsource)

/// ///

rsa加密

///

///

公鑰 ///

md5加密後的資料

///

rsa公鑰加密後的資料

public string

rsaencrypt(

string

xmlpublickey,

string

m_strencryptstring)

catch

(exception

exception)

return

str2;

}/// ///

rsa解密

///

///

私鑰 ///

待解密的資料

///

解密後的結果

public string

rsadecrypt(

string

xmlprivatekey,

string

m_strdecryptstring)

catch

(exception

exception)

return

str2;

}/// ///

對md5加密後的密文進行簽名

///

///

私鑰 ///

md5加密後的密文

///

public string

signatureformatter(

string

p_strkeyprivate,

string

m_strhashbytesignature)

/// ///

簽名驗證

///

///

公鑰 ///

待驗證的使用者名稱

///

註冊碼 ///

public bool

signaturedeformatter(

string

p_strkeypublic,

string

p_strhashbytedeformatter,

string

p_strdeformatterdata)

return false

; }

catch

}/// ///

獲取硬碟id

///

///

硬碟id

public string

gethardid()

return

hdinfo;

}/// ///

獲取cpuid

///

///

cpuid

private string

getcpuid()

return

cpuinfo;

}/// ///

讀登錄檔中指定鍵的值

///

///

鍵名 ///

返回鍵值

private string

readreg(

string

key)

catch

(exception

)

}/// ///

建立登錄檔中指定的鍵和值

///

///

鍵名 ///

鍵值private void

writereg(

string

key,

string

value)

catch

(exception

)

}/// ///

初始化登錄檔,程式執行時呼叫,在呼叫之前更新公鑰xml

///

///

公鑰路徑

public void

initialreg(

string

path)

else

}/// ///

獲取乙個與指定值不同的隨機整數

///

///

指定值 ///

隨機整數

private int

getrandomnum(

int

temp)

}/// ///

取得干擾字元

///

///

public string

getregisterrandom()

/// ///

重置干擾字元

///

public void

setregisterrandom()

/// ///

將公鑰寫入登錄檔

///

///

公鑰public void

writecodetoreg(

string

publickey)

/// ///

建立公鑰檔案

///

///

///

public void

createpublickeyxml(

string

path,

string

publickey)

catch

}/// ///

建立私鑰檔案

///

///

///

public void

createprivatekeyxml(

string

path,

string

privatekey)

catch

}/// ///

讀取公鑰

///

///

///

public string

readpublickey(

string

path)

/// ///

讀取私鑰

///

///

///

public string

readprivatekey(

string

path)

}}

C 登錄檔操作類(完整版)

下面貼出自己用c 寫的登錄檔操作類,歡迎大家拍磚!1.登錄檔基項靜態域 1 2 登錄檔基項靜態域 3 4 主要包括 5 1.registry.classesroot 對應於hkey classes root主鍵 6 2.registry.currentuser 對應於hkey current use...

C 登錄檔操作類(完整版)

1.登錄檔基項靜態域 1 2 登錄檔基項靜態域 3 4 主要包括 5 1.registry.classesroot 對應於hkey classes root主鍵 6 2.registry.currentuser 對應於hkey current user主鍵 7 3.registry.localmac...

C 操作RabbitMQ的完整例項

一 rabbitmq 二 otp 三 安裝otp rabbitmq 四 配置rabbitmq 找到bat的目錄 執行相關命令 1.新增使用者密碼 rabbitmqctl add user wenli wenli 2.設定wenli為管理員rabbitmqctl set user tags wenli...