- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C中关于RSA加密算法(案例代码)
下面介绍一下C#中RSA加密和解密算法首先说一下什么是RSA加密及解密:在C#程序中,大家可能比较熟悉的方式是md5加-密解密方式,对RSA可能并不是很熟悉,下面就说一下RSA加密和解密的算法:RSA公钥加密算法是1977年由Ron Rivest、AdiShamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。具体加密-解密看下图:说到这里,你可能对RSA加密有所了解了,下面我们说一个具体示例:(本案例RSA生成的publicKey和privateKey都是经过md5加密的)第一步:写一个md5加密和解密的类publicstaticclassMD5Manager{//MD5加密publicstaticstring Md5Encrypt(stringstrSource) {byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);byte[] iv = { 102, 17, 93, 156, 78, 4, 217, 32 }; //这些数字都是可以更改的byte[] key = { 55, 101, 246, 79, 36, 99, 166, 3 }; //这些数字都是可以更改的DESCryptoServiceProvidermobjCryptoService = newDESCryptoServiceProvider();mobjCryptoService.Key = iv;mobjCryptoService.IV = key;ICryptoTransformencrypto = mobjCryptoService.CreateEncryptor();System.IO.MemoryStream ms = newSystem.IO.MemoryStream();CryptoStreamcs = newCryptoStream(ms, encrypto, CryptoStreamMode.Write);cs.Write(bytIn, 0, bytIn.Length);cs.FlushFinalBlock();return System.Convert.ToBase64String(ms.ToArray()); } //MD5解密publicstaticstring Md5Decrypt(string Source) {byte[] bytIn = System.Convert.FromBase64String(Source); byte[] iv = { 102, 17, 93, 156, 78, 4, 217, 32 };//要与加密时的一致byte[] key = { 55, 101, 246, 79, 36, 99, 166, 3 }; //要与加密时的一致DESCryptoServiceProvidermobjCryptoService = newDESCryptoServiceProvider();mobjCryptoService.Key = iv;mobjCryptoService.IV = key
您可能关注的文档
- 2012年MBA MPA MPACC联孝综合数学必备数学公式.doc
- 2012计算机控制技术复习题.doc
- 2013-2014-2机械原理复习题.doc
- 2013-4-16_Struts-2181+jquery-132+spring-framework-256集成[登录demo].docx
- 2013-2014管理信息系统复习题.doc
- 20131127-李素云《国际糖尿病联盟餐后血糖管理指南》.doc
- 20130705报告RPKI.docx
- 2013TEM-4写作考试作文.doc
- 2013四川省大赛报告5.doc
- 2013全国高考理综卷业Microsoft Word 文档.doc
- 1.1细胞是生命活动的基本单位课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 1.2细胞的多样性和统一性第1课时课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 第16课《白杨礼赞》课件-2025-2026学年统编版语文八年级上册.pptx
- 2026届高三生物一轮复习课件+减数分裂与生物的遗传、变异.pptx
- 3.1细胞膜的结构和功能第2课时课件-2025-2026学年高一上学期生物人教版必修1.pptx
- 2025届高三生物一轮复习课件2.1减数分裂和受精作用.ppt
- 中考语文二轮专题复习课件:新闻概括题.pptx
- 第6课《我看》课件+++2025-2026学年统编版语文九年级上册.pptx
- 第21课《人民英雄永存不朽》课件-2025-2026学年统编版语文八年级上册.pptx
- 2025年广西河池罗城特聘农机技术指导员的(1人)考前自测高频考点模拟试题含答案详解(b卷).docx
最近下载
- 神经内科三基考试题及答案.doc VIP
- 等离子体物理与当代高新技术(本科生).ppt VIP
- SMTC 2 800 003 LIN节点设计需求LIN node design requirements(20180730).pdf
- 医院医院安保服务及停车场运营管理服务招标文件.pdf
- (最新)社区网格员考试试题(含答案).docx VIP
- 老小区燃气管道改造监理实施细则.docx VIP
- 中国行业标准 YY/T 1831-2021梅毒螺旋体抗体检测试剂盒(免疫层析法).pdf
- Walkera华科尔无人机FCS-F8使用指南_CN_V1.2_2020.10.12(金属壳版).pdf
- 五升六数学暑假作业60天附答案.docx VIP
- 高中物理:强基计划专题讲座.pptx VIP
文档评论(0)