Çalışmak için şifreleme sınıf alınamıyor

0 Cevap php

Ben (bu sınıfları klasöründe ayrı bir dosyada bulunuyor) bir şifreleme sınıfı çalışması için alınamıyor. Sınıf için kod:

class SymmetricCrypt
{
    // Encryption/decryption key.
    private static $msSecretKey = "Hello";

    // The initialisation vector.
    private static $msHexaIv = "c7098adc8d6128b5d4b4f7b2fe7f7f05";

    // Use the Rijndael Algorithm.
    private static $msCipherAlgorithm = MCRYPT_RIJNDAEL_128;

    public static function Encrypt($plainString)
    {
        $binary_iv = pack("H*", SymmetricCrypt::$msHexaIv);

        // Encrypt source.
        $binary_encrypted_string = mcrypt_encrypt(SymmetricCrypt::$msCipherAlgorithm, SymmetricCrypt::$msSecretKey, $plainString, MCRYPT_MODE_CBC, $binary_iv);

        // Convert $binary_encrypted_string to hexadeciaml format.
        $hexa_encrypted_string = bin2hex($binary_encrypted_string);
        return $hexa_encrypted_string;
    }

    public static function Decrypt($encryptedString)
    {
        $binary_iv = pack("H*", SymmetricCrypt::$msHexaIv);

        // Convert string in hexadecimal to byte array.
        $binary_encrypted_string = pack("H*", $encryptedString);

        // Decrypt $binary_encrypted_string,
        $decrypted_string = mcrypt_decrypt(SymmetricCrypt::$msCipherAlgorithm, SymmetricCrypt::$msSecretKey, $binary_encrypted_string, MCRYPT_MODE_CBC, $binary_iv);

        return $decrypted_string;
    }
}

Bu benim sınıf arıyorum nasıl:

require_once 'classes/symmetric_crypt.php';
$sc = new SymmetricCrypt();
$password = "password";
$ec_password = $sc->Encrypt($password);

... insert into database.

Ben $ şifre içeriğini echo, o zaman "parola" görüntüler. Ben $ ec_password echo, eğer hiçbir şey döndürür.

Ben farklı bir sunucu üzerinde farklı bir proje üzerinde daha önce kullandım. Bu sunucu ile ilgili bir şey olabilir mi? Diğer fikirler?

Teşekkürler,

Adrian

0 Cevap