在使用通用权限管理系统(吉日嘎拉)的单点登录功能时,对登录密码使用了RSA加密(非对称加密),有使用这个权限管理系统的可参考下。
前端部分,请引用以下几个js文件:
下载:http://files.cnblogs.com/hnsongbiao/ExtJS.zip
登录页面前端主要代码:setMaxDigits(129);
var key = new RSAKeyPair("", "", "");
var password = document.getElementById("password");
var pwd = encryptedString(key, password.value);
后台主要功能代码:
RSACryptoServiceProvider rsa = newRSACryptoServiceProvider();
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= newASCIIEncoding();
password= enc.GetString(results);
下面截图可以看到传输时密码已经经过RSA非对称加密了(我这里同时进行了对称加密)
原文:http://www.cnblogs.com/hnsongbiao/p/3712312.html