如何用D7实现下面的密码加密过程啊?求高手帮忙写下代码,谢谢啦
//加密模块
var rsa = (function($){
        var publicKey
        // 获取公钥
        var getPubKey = function(callback){
        if(publicKey) return callback();
        $.post('/accounts/prelogin').always(function(json){
            if(json && json.status == 'ok'){
            publicKey = json.data
            if(callback) callback()
            }
            })
        }        // rsa加密
        var encrypt = function(txt){
            if(!publicKey) return txt
            var rsa = new RSA.RSAKey()
            rsa.setPublic(publicKey.n, publicKey.e)
            var res = rsa.encrypt(txt)
            res = RSA.linebrk( RSA.hex2b64(res) )
            return res
        }
        return {
            publicKey: publicKey,
            encrypt: encrypt,
            getPubKey: getPubKey
        }
})(jQuery);/*********************************
KP邮箱注册插件v1.0作者: wangning1
**********************************/;(function($){
$.fn.emailRegister = function(options){
options = $.extend({
formEle: $(this),
msgEle: $(this).find(".msg"),
submitUrl : $(this).attr('action'),
loginIdEle: $(this).find("input[name='loginId']"),
pwdEle: $(this).find("input[name='password']"),
repwdEle: $(this).find("input[name='repassword']"),
captchaEle: $(this).find("input[name='captcha']"),
protocal: $('#ereg-protocol'),
success: $.noop }, options);
var ERROR_MESSAGES = { 
"serverError": "服务器维护中(api),请稍后再试",
"accountServerError": "服务器维护中(account),请稍后再试",
"unknownError": "服务器错误",
"clientBadParams": "手机号格式不正确",
"mobileExists": "手机号已注册或已绑定过其它账号",
"sendMsgError": "短信服务器异常,请稍后再试",
"tooManyRequests": "您今天的短信请求太多",
"tooOften": "短信请求太频繁,请稍后再试",
"invalidCode": "无效的验证码",
'captchaError' : '验证码错误',
"invalidMobile": "无效的手机号,请检查您的输入",
"emptyPassword": "密码不能为空",
"passwordTooLong": "密码太长",
"noSuchUser": "操作失败,无此用户",
"bindMobileBefore": "手机号已注册或绑定过其它账号",
"needPassword": "用户邮箱为空,需要密码",
"anNotPassword": "用户有邮箱,不能输入密码",
"sameEmailRegisteredBefore": "该邮箱已注册"
};   $('#change-code, #captcha').click(function() {
            $("#captcha").attr('src', '/captcha?' + new Date().getTime())
        })
function showMsg(Msg){
options.msgEle.html(Msg);
} $(this).submit(function(){
return false;
}) $(this).submit(function(){
if(checkLoginId() && checkPwd() && checkProtocol()){
submit();
}
}) function submit() {
var loginId = $.trim(options.loginIdEle.val());
var pwd = $.trim(options.pwdEle.val()); var captcha = $.trim(options.captchaEle.val()); rsa.getPubKey(function(){
                var para =  {
                    'loginId': loginId,  
                    'password': pwd,
                }                if(true){
                    para.security = 1;
                    para.loginId = rsa.encrypt(para.loginId);
                    para.password = rsa.encrypt(para.password);
                    para.captcha = captcha;
                } $.post(options.submitUrl, para, function(data){
if(data.status == 'ok'){
options.formEle.trigger('reset');
options.success('注册成功');
}else{
if(typeof ERROR_MESSAGES[data.status] == 'string'){
showMsg(ERROR_MESSAGES[data.status]);
}else{
showMsg('账号密码不正确,错误码:' + data.status);
}
}
}, 'json');
});
} function checkLoginId() {
var loginId = $.trim(options.loginIdEle.val()); if('' === loginId) {
showMsg('邮箱地址不能为空');
return false;
} if (!/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/i.test(loginId) && !/^1\d{10}$/i.test(loginId) ){
showMsg('账号格式不正确');
return false;
}  return true;
}
//检测是否同意注册协议
function checkProtocol() { if(options.protocal.attr('checked') !== 'checked'){
showMsg('请先阅读并同意注册协议');
return false;
}else{
showMsg(' ');
return true;
} } function checkPwd() {
var pwd = $.trim(options.pwdEle.val());
var repwd = $.trim(options.repwdEle.val()); if('' === pwd) {
showMsg('密码不能为空');
return false;
} if(pwd.length < 6 ){
showMsg('密码过短,不能小于6个字符');
return false;
} if(pwd.length > 32 ){
showMsg('密码过长,不能大于32个字符');
return false;
}
if('' === repwd) {
showMsg('确认密码不能为空');
return false;
} if(pwd !== repwd ) {
showMsg('两次密码不一致');
return false;
} return true;
} }
})(jQuery);

解决方案 »

  1.   

    ,
    RSA加密算法!你看的那个只是调用的接口函数,真正的RSA算法没看见啊!
    这种的你找个DELPHI的RSA算法!两个看能不能互相加解密!
      

  2.   

    http://www.cityinthesky.co.uk/    看看这里有互换加密的
      

  3.   

    不知道你到底想说什么,是RSA加密与解密不成功呢,还是什么?如果是RSA加密与解密问题,根本不需要发这么多代码,一个简单的DEMO就可以测试出来啊