<?php

# Old and new passwords
$old_pw "";
$new_pw "";

# MySQL
$hostname "";
$dbuser "";
$dbpasswd "";
$old_database "";
$new_database "";

echo 
"<html>\n<body>\n";

echo 
"Step 1 : Connexion with $dbuser...";
if (
$old_conn mysql_connect($hostname$dbuser$dbpasswd))
{
    echo 
"done !";
    echo 
"<BR>";
    echo 
"Step 2 : Connexion to $old_database...";
    if (
mysql_select_db($old_database,$old_conn))
    {
        echo 
"done !";
        echo 
"<BR>";
        echo 
"Step 3 : Old password is...";
        
$crypt_pw sha1($old_pw);
        
$list mysql_query ("SELECT version, pw FROM main");
        
$entries mysql_fetch_object($list);
        
$db_pw=$entries->pw;
        if (
$crypt_pw == $db_pw)
        {
            echo 
"correct !";
            echo 
"<BR>";
            echo 
"Step 4 : Connexion with $dbuser...";
            if (
$new_conn mysql_connect($hostname$dbuser$dbpasswdtrue))
            {
                echo 
"done !";
                echo 
"<BR>";
                echo 
"Step 5 : Connexion to $new_database...";
                if (
mysql_select_db($new_database,$new_conn))
                {
                    echo 
"done !";
                    echo 
"<BR>";
                    echo 
"Step 6 : Insert data into main table...";
                    
$db_passwd sha1($new_pw);
                    
mysql_query ("DELETE FROM main"$new_conn);
                    
$result mysql_query ("INSERT INTO main VALUES ('1.40','".$db_passwd."')"$new_conn);
                    echo 
"done !";
                    echo 
"<BR>";
                    
$old_key md5("%dJ9&".strtolower($old_pw)."(/&k.=".strtoupper($old_pw)."1x&%");
                    
$new_key md5("%dJ9&".strtolower($new_pw)."(/&k.=".strtoupper($new_pw)."1x&%");
                            
                    echo 
"Step 7 : Decrypt data from $old_database and encrypt to $new_database...";
                    
$list mysql_query ("SELECT * FROM wallet"$old_conn);
                    while (
$entries mysql_fetch_object($list))
                    {
                        
$result mysql_query("INSERT INTO wallet VALUES (".
                        
$entries->ID.",'".
                        
addslashes(encrypt140(decrypt140($entries->itemname,$old_key),$new_key))."','".
                        
addslashes(encrypt140(decrypt140($entries->host,$old_key),$new_key))."','".
                        
addslashes(encrypt140(decrypt140($entries->login,$old_key),$new_key))."','".
                        
addslashes(encrypt140(decrypt140($entries->pw,$old_key),$new_key))."','".
                        
addslashes(encrypt140(decrypt140($entries->comment,$old_key),$new_key))."')",$new_conn);

                    }
                    echo 
"done !";
                    echo 
"<BR>";
                    echo 
"Update was successful !";
                    echo 
"<BR>";
                }
            }
        }
    }
}

echo 
"</body>\n</html>";

function 
decrypt140($data$key)
{
    
$td mcrypt_module_open('rijndael-256''''ecb''');
    
$iv mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    
mcrypt_generic_init($td$key$iv);
    
$decrypted_data mdecrypt_generic($td$data);
    
mcrypt_generic_deinit($td);
    
mcrypt_module_close($td);
    return 
$decrypted_data;    
}

function 
encrypt140($data$key)
{

    
$td mcrypt_module_open('rijndael-256''''ecb''');
    
$iv mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    
mcrypt_generic_init($td$key$iv);
    
$encrypted_data mcrypt_generic($td$data);
    
mcrypt_generic_deinit($td);
    
mcrypt_module_close($td);
    return 
$encrypted_data;    
}

?>