甲方要求登录名与密码不能明码传输,需要进行加密传输。HTTPS不考虑。
请问织梦CMS怎样进行更改能够处理后台登录时,用户名与密码加密传输。

织梦CMS登录时用户名及密码加密与解密
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- dailiboy 2018-10-25 13:56关注
下面是通过公钥加密。在客户端进行。
$(function(){ $('.login-btn').click(function(){ var encrypt = new JSEncrypt(); encrypt.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJn0Rxsay9tUuWga7qlkCJv+QayR0sj1dJdKBo7YK4NEHJ6sVsc6H3tnynh62cPtCKOfVm24V/BCFcR3mpA2/tQW5JpUqK+vPhRbMSSc+VT+X3UyMLD7nQRKU+FvtGDXi1iBs4iaYIgsfRE/YkqcSk8KerXv8VJ7xqFdh+db12XwIDAQAB"); var data = encrypt.encrypt($("#userName").val()); $("#userName").val(data); //alert(data); //var userstr = $('#userName').val(); $('#formid').submit(); }) })
下面是在服务前端进行解密
$encrypted = '123'; $pi_key="MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIJoj7Saah2vUCAggAMBQGCCqGSIb3DQMHBAij1y6O0VtQDQSCAoBs7qL7zLk7nLMPkxQcv1o9mjXq2bcW2JR8o44yu93YelOlEbJGirnjE8RwKhMQaX+r/lFnC+lFwvWvUOlMIUtkTwft+nAwYHQToV9VBixmmdmVhDfo7/WYGFneVJgyuFrwHEsV8dG4Cq4zTHqWIYLdsPMFWxOeDNkjqbTmfNV8a7SDrbXfnD9OHCXQXEP5iuAmyimZK16pGq+wiYJVV+AevtSG6r9F2nrP+AeGqzIe2CZDixc5eHNtWhB/u8krN3z/6AUBZdXSh5m6FycvMgUAcY/uBuXNxmF60PkRV4DSOl40E7TBd6PiRhEIu2OewaxH7zW8p+5tRYpYVAh0wAq351OK+p0U0Fc0lgGdenDLSUjNL5Uajb+ov1/p8Ab5QMCQ9eG6TtubX/pDBDwf2hQVfpizjM4JCi2BQCibwBjJM1K7aJClBzg2+enSaNEw4v21aOjvrpQzGlYxaCXvbA6JHBKyz8bNNXOlfBOTe3Hn+KvYd2CZhodg/4FxT6PZUw97E17hETeJp4LKL9jq6ijiUsplCrI70d2qacmvEN1P8rl7WahwjfTie1CGg1gRPWIlQalJUryr7AdbLoqXBNYZMsSp81SGfDA0S++u07Zxnpp7sKC3Wdv4qyFA4ZmzpSA3kOtH2N/C3h0N36x87UhzU4JaSr7AkelmfixRGbDQMhOa9qCjaRRD3REB0EIwB1z+fqrWOVFXx4NuWGHhm5xsxnw+ANjg53aSZFb+RWXC6R9PdWrp9pss6cvPMxJMjoowEp8/Qy8bASvKSv267Z5nzP/rflbQlo3HY3pQ8XNUF3nPkRfZ7+pmXkaoHTXULW3g2n4xRHulHGk1wj2A3rfs"; openssl_private_decrypt($userid, $encrypted, $pi_key);
通过openssl_private_decrypt方法后,$userid和 $encrypted的值都没有发生改变。
我是直接在后台用openssl_private_decrypt这个方法,也不清楚这个方法是否还需要其他类库的支持。前台是javascript 后台是PHP
之前的回答都提供了解决方法,但是因为我技术不足,并没有很好的实现。所以我最终采用了HASH的方法,往用户名和密码处插入随机编码,后台剔除插入的随机编码。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报