在使用通用權(quán)限管理系統(tǒng)(吉日嘎拉)的單點(diǎn)登錄功能時(shí),對(duì)登錄密碼使用了RSA加密(非對(duì)稱加密),有使用這個(gè)權(quán)限管理系統(tǒng)的可參考下。
前端部分,請(qǐng)引用以下幾個(gè)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.VEVb.com/hnsongbiao/ExtJS.zip
登錄頁(yè)面前端主要代碼:
setMaxDigits(129);var key = new RSAKeyPair("<%=strPublicKeyExponent%>", "", "<%=strPublicKeyModulus%>");var passWord = document.getElementById("password");var pwd = encryptedString(key, password.value);
后臺(tái)主要功能代碼:
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);

下面截圖可以看到傳輸時(shí)密碼已經(jīng)經(jīng)過(guò)RSA非對(duì)稱加密了(我這里同時(shí)進(jìn)行了對(duì)稱加密)

新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注