de- & encrypt methoden

ohio

Erfahrenes Mitglied
guden zusam'm,

ich benötige eine sicher methode zum verschlüsseln für ftp,db,etc passwörter, diese werden in einer db gespeichert, müssen dennoch wieder ausgelesen und benutzt werden können -> connect. soweit ich mich errinner, funzt das mit md5() oder crypt() nicht. gibt es da andere standartisierte funktionen unter php oder muss ich auf eine eigene ver/entschlüsselungsmethode zurückgreifen?

gruss ohio
 
ne es gibt leider keine verschlüsselungs methode im php die man wiederherstellen kann..
muste dir selbst helfen
 
blubber, davon gehe ich aus, ich speicher die daten in mysql, diese werden dann benötigt für cronjobs, welche via perl automatisch auf zB ftp's und mysql datenbanken "geschichten" abhandeln... zum login brauche ich die eingetragenen pwd's.

ok, script gesucht, gefunden, thx.
 
von Jon Anders unter -> http://www.unixcon.net/~datalogik/scripts/ zu finden.

PHP:
function chrtoasc($chrtoasc)
{
    if (ereg("[0-9]",$chrtoasc))
        return ord($chrtoasc) - 48;
    if (ereg("[A-Z]",$chrtoasc))
        return ord($chrtoasc) - 55;
    if (ereg("[a-z]",$chrtoasc))
        return ord($chrtoasc) - 61;
    if ($chrtoasc = ".")
        return 62;
}

function asctochr($asctochr)
{
    if($asctochr < 10)
        return $asctochr;
    if($asctochr < 36)
        return chr($asctochr + 55);
    if($asctochr < 62)
        return chr($asctochr + 61);
    if ($asctochr = 62)
        return chr(46);
}

function encrypt($dString)
{

    $dString = ereg_replace(" ", chr(90), $dString);

    $strEnc = "";
    $intPos = 0;
    for ($intCur = 0; $intCur < strlen($dString); $intCur++)
    {
        if ($intPos >= strlen($strCrypt))
            $intPos = 0;

        $intTemp = chrtoasc($dString[$intCur]);

        (double)microtime()*1000000;
        $intTemp1 = chr(rand(65, 89));
        $intTemp2 = chr(rand(65, 89));

        $strEnc .= "$intTemp1$intTemp$intTemp2$intTemp3";
        $intPos++;
    }
    return $strEnc;
}

function decrypt($dString)
{
    $strDec = "";
    $intPos = 0;
    $intCur = 1;
    while ($intPos <= strlen($dString))
    {
        $intTemp = asctochr(substr($dString,$intCur,2));
        $intCur = $intCur + 4;
        if (strlen($intTemp) <= 1)
            $strDec .= "$intTemp";
        $intPos++;
    }
    $strDec = ereg_replace(chr(90), " ", $strDec);
    return $strDec;
}

$en = encode();
$de = decode();
 
Zurück