2011-07-18 4 views
0

私はPHPのcurlを使ってインターネットバンキング取引を取得しようとしています。残念ながら、銀行はb64_md5アルゴリズムを使用して、このスクリプトによって実行されたサーバにユーザ名とパスワードを渡しますmd5.js。私はこれをシミュレートするPHP関数を探せた。私は何か助けを見つけることができます。ここb64_md5アルゴリズムby Paul Johnston http://pajhome.org.uk/crypt/md5

はパスワード

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はこれをシミュレートするために、PHPの関数を構築する方法、です。

+0

34質問、ちょうど6 upvotesキャスト。低いと思われる。 –

+2

'b64_md5'関数がbase64でエンコードされたmd5ハッシュを返すように思えます。 'base64_encode(md5( 'string'));'を使うことはできませんでしたか? 2回目にパスワードを入力し、2回目に「挑戦」を追加することに注意してください。 –

答えて

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));