2011-07-18 2 views
0

나는 인터넷 뱅킹 거래를하기 위해 PHP 컬을 사용하려고합니다. 불행히도 은행은 b64_md5 알고리즘을 사용하여이 스크립트에 의해 수행 된 서버에 사용자 이름과 암호를 전달합니다 md5.js. 나는 이것을 시뮬레이션하기 위해 PHP 함수를 봤다. 하지만 뭔가 도움을 얻을 수 있습니다. b64_md5 알고리즘 Paul Johnston http://pajhome.org.uk/crypt/md5

여기에 암호이를 시뮬레이션하는 PHP 함수를 구축하는 방법을

function checkScript(){ 
    pCheckScript.innerHTML = ""; 
    document.form_000001.pSubmit.disabled = false; 
    document.form_000001.pCancel.disabled = false; 
    document.form_000001.challenge.value = "[[email protected]" 
    document.form_000001.login_name.focus();} 
function submitForm(){ 
    var vPassword = ""; 
    for (var i = 0; i < document.form_000001.password.value.length; i++)vPassword = vPassword + "*"; 
    document.form_000001.login_name.size = 1; 
    document.form_000001.password.size = 1; 
    document.form_000001.login_name.style.visibility = "hidden"; 
    document.form_000001.password.style.visibility = "hidden"; 
    textLoginName.innerHTML = document.form_000001.login_name.value; 
    textLoginPassword.innerHTML = vPassword; 
    document.form_000001.login_name.value = b64_md5(document.form_000001.login_name.value.toLowerCase()); 
    document.form_000001.password.value = b64_md5(b64_md5(document.form_000001.password.value) + document.form_000001.challenge.value); 
    return true;} 

queston이에게, 생성하는 자신의 코드입니다.

+0

34 질문, 단지 6 upvotes 캐스트. 낮게 보인다. –

+2

'b64_md5' 함수가 base64로 인코딩 된 md5 해시를 반환하는 것처럼 들립니다. 'base64_encode (md5 ('string'));'을 사용할 수 없었습니까? 패스워드가 2 배로 증가하는 것을 확인하고 두 번째로 "challenge"를 추가하십시오. –

답변

2

다음은 base64_encodemd5을 사용하는 예입니다.

<?php 

// This assumes that the challenge never changes. 
$challenge = '[[email protected]'; 

$username = base64_encode(md5(strtolower('username'))); 
$password = base64_encode(md5(base64_encode(md5('password')) . $challenge));