2013-02-12 1 views
0
<?php 
    error_reporting(E_ALL^E_NOTICE); 
    $string = "123456"; 
    $replace_from = array(
    "1", 
    "2", 
    "3", 
    "4", 
    "5", 
    "6"); 
    $replace_to = array(
    "Al01", 
    "Br20", 
    "Ch03", 
    "De40", 
    "Ec05", 
    "Fo60"); 
    $hashed = str_replace($string, $replace_from, $replace_to); 
    echo "String: ". $string ."<br>"; 
    echo "Encrypted: ". $hashed ."<br>"; 
    echo "<br>"; 
    print_r($hashed); 
?> 

나는 자신의 암호화 스크립트는

Encrypted: Array 

을 얻을하지만 난 수익으로 해시를 얻을 어떻게

Encrypted: Al01Br20Ch03De40Ec05Fo60 

예상?

+2

부수적으로, 왜 자신의 암호화/해시 함수를 작성하고 있습니까? –

+1

이런 유형의 시도는 숙제 나 자기 학습을 위해 이것을하지 않는 한 시간 낭비입니다. 프로덕션을 위해서는 이미 설정된 기술을 사용해야합니다. –

+3

매우 유감 스럽지만,이 오류가 발생하면 내 생각에 일부 암호화를 만들 수 없으므로 안됩니다. 또한이 질문에 [비밀번호]라는 태그가 붙어 있으므로 프로덕션 사이트/프로젝트 근처의 위 코드를 사용하지 않기를 바랍니다. – PeeHaa

답변

6

당신은 str_replace() 잘못에 매개 변수의 순서를 가지고 : 올바른 순서 문자열

  1. (의 배열)는
  2. (의 배열)을 검색하는 것입니다

    $hashed = str_replace($replace_from, $replace_to, $string); 
    

  3. 교체 대체 할 문자열 (배열) 문자열
+0

와우, PHP API는이 점에서 대부분의 API와 다르다. 나는 그 혜택을보고는 있지만 틀림없이 틀림없이 나를 걸을 것입니다. –

+0

감사합니다. 내 상황을 저장했습니다. – user2065810