나는 MD5와 소금 예를 들어소금 설정하고 새 암호
OÜ ª€ÉظÖÙõà;~\
같은 계정 이름과 stackoverflow
MD5와 소금에 절인 외모가 올바르게 수행되도록 암호를 사용하도록 노력하고 있어요,하지만 난 것으로 보이는 것을 얻고있다 그냥 md5, 그 같은 계정 이름과 비밀 번호를 소금에 절인. 나는 계정 이름의 MD5 해시를하고 그래서 jade
는 0xea606b4cae6ae9a68a5da45d57c3309d
처럼 보이지만 내가 정말 찾고 있어요 것은이 e
후 하나를 가지고 같이 내가 backticks
에 그것을 닫을 수 없습니다
ê`kL®j馊]¤]WÃ0
입니다.
다음은 예를 위해 사용하고있는 코드 스 니펫입니다.
$new = isset($_POST['new']) ? $_POST['new'] : '';
$old = isset($_POST['old']) ? $_POST['old'] : '';
$con = isset($_POST['con']) ? $_POST['con'] : '';
$this->view->usr = mysql_real_escape_string(StrToLower(Trim($this->view->usr)));
$new = mysql_real_escape_string(StrToLower(Trim($new)));
$Salt = $this->view->name.$new;
$Salt = md5($Salt);
$Salt = "0x".$Salt; //Salts the password in md5.
//$this->view->salt = $this->view->name.$new;
//$this->view->salt = md5($this->view->salt);
//$this->view->salt = "0x".$this->view->salt; //Salts the password in md5.
$this->view->msg = "";
$this->view->err = false;
if($old != $this->view->pss){
$this->view->msg = "Old Password is Incorrect";
}elseif($new == ""){
$this->view->msg = "New Password is Empty";
}elseif($con != $new){
$this->view->msg = "Please Confirm Password Correctly";
}else{
$arr = array(":idnumber" => $new, ":passwd" => $Salt);
$this->database->DBSet($arr,'users',$whr = 'WHERE ID = '.$this->view->usr);
$this->view->msg = "Password is Successfully Changed";
$this->view->err = true;
}
나는 작동하고 내가 무엇을 찾고 반환하는 스크립트가 수행하지만 그래서 내가 통보했다 call changepasswd('$Login', $Salt)
BEGIN
START TRANSACTION;
UPDATE users SET passwd = passwd1 WHERE name = name1;
COMMIT;
END
을 할 필요가 데이터베이스에서 다음 절차를 사용하여 그 $Salt
가 'single quotes'
의 외부에있는 경우, 다음 스 니펫으로이를 수행 할 수 있습니까?
$arr = array(":idnumber" => $new, ":passwd" => $Salt);
은 내가
// Update
function DBSet($arr,$tbl,$whr = ''){
$stmt = array();
foreach($arr as $fld => $val){
$stmt[] = str_replace(":","",$fld)." = ".$fld;
}
$stm = implode(",",$stmt);
$sql = self::UPDATE.$tbl." SET ".$stm.' '.$whr;
$sth = $this->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute($arr);
}
MD5를 사용하는 경우 이미이 게임을 잃어 버렸습니다. MD5는 암호를 안전하게 해싱하는 데 적합하지 않습니다. – meagar
개인 서버 용입니다. 게임에 누군가가 로그인하는 방법입니다. – tomirons
해시 된 모든 암호 데이터베이스가 비공개이므로 해시를 저장하여 누군가 * 개인 서버에 침입하면 일반 텍스트 암호를 볼 수 없도록합니다. 서버를 "비공개"로 설정하는 것은 중요하지 않습니다. 암호 해시를 시도하고 MD5를 사용하고 있다면 잘못하고있는 것입니다. – meagar