zoukankan      html  css  js  c++  java
  • 用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非对称加密了(我这里同时进行了对称加密)

  • 相关阅读:
    LeetCode522. 最长特殊序列 II
    docker activiti部署到Linux环境,流程图乱码
    linux docker 命令
    linux 安装docker
    JSON,JSONOBJECT,JSONARRAY 互转
    Python和java 的区别笔记(未完成)
    程序员常读书单整理,附下载地址
    javaweb同一个项目打包两次放在同一个tomcat下
    SSM项目集成Redis
    Chrome浏览器崩溃
  • 原文地址:https://www.cnblogs.com/hnsongbiao/p/3712312.html
Copyright © 2011-2022 走看看