dt614037527 2014-09-26 22:05
浏览 31

如何在PHP中保护更多我的md5密码编码

I am seeking some suggestion to secure my password encoding. Here I wanted to mention that I don't want to use new password_hash() api and also dont want to migration of old password, If I used password_hash() api , I have to migrate my old user password, which is not gong to possible for now. SO here is my old approach.

function login() {
//the code of getting password from database.......I am skipping this part.....
if(!Check($given_pass,$expected_pass)))  
    //User enter a password in the session as given_pass and expected_pass is the md5 generated hash password stored in database.
    return error('pass error');
return notice('pass success');
}

function Encode($text) {
    return md5(paramtr2Str("conf.cryptographykey").$text);  
    //cryptography key is a random generated string at the server side.
}

function Check($given_pass, $expected_pass) {
    return $expected == Encode($given_pass);
}

I think my Encode function is hackable and I want to give it some extra security by sticking with the original formatting.

  • 写回答

1条回答 默认 最新

  • dsadsa123111 2014-09-26 22:38
    关注

    You can encrypt the MD5 encrypted password with sha1(). You have to encrypt all users passwords (MD5 encrypted) with sha1() again in your database and in the login page check their password with this sha1(md5($password)) and compare it with you database.

    This will improve your site security quite lot but I'd recommend you to use password_hash() anyway.

    评论

报告相同问题?

悬赏问题

  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?