用RSA实现Web单点登录密码的加密传输

王朝学院·作者佚名  2016-05-21
窄屏简体版  字體: 小  |  中  |  大  |  超大  

用RSA实现Web单点登录密码的加密传输在使用通用权限管理系统(吉日嘎拉)的单点登录功能时,对登录密码使用了RSA加密(非对称加密),有使用这个权限管理系统的可参考下。

前端部分,请引用以下几个js文件:

<script type="text/javascript" src="ExtJS/jquery.js"></script><script type="text/Javascript" src="ExtJS/BigInt.js" ></script><script type="text/javascript" src="ExtJS/RSA.js"></script><script type="text/javascript" src="ExtJS/Barrett.js"></script>

下载:http://files.cnblogs.com/hnsongbiao/ExtJS.zip

登录页面前端主要代码:

setMaxDigits(129);var key = new RSAKeyPair("<%=strPublicKeyExponent%>", "", "<%=strPublicKeyModulus%>");var passWord = document.getElementById("password");var pwd = encryptedString(key, password.value);

后台主要功能代码:

RSACryptoServicePRovider rsa = new RSACryptoServiceProvider();session["private_key"] = rsa.ToxmlString(true);RSAParameters parameter = rsa.ExportParameters(true);strPublicKeyExponent = BytesToHexString(parameter.Exponent);strPublicKeyModulus = BytesToHexString(parameter.Modulus);。。。。。。rsa.FromXmlString((string)Session["private_key"]);byte[] results = rsa.Decrypt(HexStringToBytes(password), false);System.Text.ASCIIEncoding enc = new ASCIIEncoding();password = enc.GetString(results);

下面截图可以看到传输时密码已经经过RSA非对称加密了(我这里同时进行了对称加密)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航