C#中字符串的加密的源碼
更新時(shí)間:2007年03月09日 00:00:00 作者:
可以用DSA和RSA,如:
using System;
using System.Text;
using System.Security.Cryptography;
class dsacrypto_SignData {
public static void Main(String[] args){
//先要將字符串轉(zhuǎn)換為字節(jié)數(shù)組,這與編碼有關(guān)。
String str = "this is a test.";
byte[] bytes = Encoding.ASCII.GetBytes(str);
//選擇簽名方式,有RSA和DSA
DSACryptoServiceProvider dsac = new DSACryptoServiceProvider();
byte[] sign = dsac.SignData(bytes);
//sign便是出來(lái)的簽名結(jié)果。
//下面是認(rèn)證了
DSACryptoServiceProvider dsac2 = new DSACryptoServiceProvider();
dsac2.FromXmlString(dsac.ToXmlString(false));
bool ver = dsac2.VerifyData(bytes, sign);
if (ver) {
Console.WriteLine("通過(guò)");
} else {
Console.WriteLine("不能通過(guò)");
}
}
}
RSA類似,不過(guò)RSA比DSA慢得多,但比DSA安全。RSA可以選擇關(guān)鍵字的大小,越大越安全
using System;
using System.Text;
using System.Security.Cryptography;
class dsacrypto_SignData {
public static void Main(String[] args){
//先要將字符串轉(zhuǎn)換為字節(jié)數(shù)組,這與編碼有關(guān)。
String str = "this is a test.";
byte[] bytes = Encoding.ASCII.GetBytes(str);
//選擇簽名方式,有RSA和DSA
DSACryptoServiceProvider dsac = new DSACryptoServiceProvider();
byte[] sign = dsac.SignData(bytes);
//sign便是出來(lái)的簽名結(jié)果。
//下面是認(rèn)證了
DSACryptoServiceProvider dsac2 = new DSACryptoServiceProvider();
dsac2.FromXmlString(dsac.ToXmlString(false));
bool ver = dsac2.VerifyData(bytes, sign);
if (ver) {
Console.WriteLine("通過(guò)");
} else {
Console.WriteLine("不能通過(guò)");
}
}
}
RSA類似,不過(guò)RSA比DSA慢得多,但比DSA安全。RSA可以選擇關(guān)鍵字的大小,越大越安全
相關(guān)文章
C#實(shí)現(xiàn)多種圖片格式轉(zhuǎn)換的示例詳解
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)多種圖片格式轉(zhuǎn)換,例如轉(zhuǎn)換成圖標(biāo)圖像ICO,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
C#代碼實(shí)現(xiàn)對(duì)AES加密解密
這篇文章主要介紹了C#代碼實(shí)現(xiàn)對(duì)AES加密解密的相關(guān)資料,AES是一個(gè)新的可以用于保護(hù)電子數(shù)據(jù)的加密算法,需要的朋友可以參考下2015-12-12
C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務(wù)類的方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務(wù)類的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2018-04-04
C#實(shí)現(xiàn)快遞api接口調(diào)用方法
這篇文章主要介紹了C#實(shí)現(xiàn)快遞api接口調(diào)用方法,主要是通過(guò)快遞API網(wǎng)接口的服務(wù),使用的時(shí)候直接申請(qǐng)個(gè)接口UID即可,有需要的小伙伴來(lái)參考下吧。2015-03-03
在Winform程序中使用Spire.Pdf實(shí)現(xiàn)頁(yè)面添加印章功能的實(shí)現(xiàn)
這篇文章主要介紹了在Winform程序中使用Spire.Pdf實(shí)現(xiàn)頁(yè)面添加印章功能的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
C#中LinkedList<T>的存儲(chǔ)結(jié)構(gòu)詳解
這篇文章主要介紹了深度解析C#中LinkedList<T>的存儲(chǔ)結(jié)構(gòu),本文將從鏈表的基礎(chǔ)特性、C#中LinkedList的底層實(shí)現(xiàn)邏輯,.NET的不同版本對(duì)于Queue的不同實(shí)現(xiàn)方式的原因分析等幾個(gè)視角進(jìn)行簡(jiǎn)單的解讀,需要的朋友可以參考下2023-12-12
C#中泛型舉例List<T>與DataTable相互轉(zhuǎn)換
這篇文章介紹了C#中泛型舉例List<T>與DataTable相互轉(zhuǎn)換的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05

