Hallo Leute,
ich probiere und suche schon den ganzen tag, komme aber überhaupt nicht weiter. ich rufe mit ajax verschlüsselte daten von einem webserver ab. diese muss ich entschlüsseln um sie weiterverwenden zu können. an dem php-script der die daten liefert können keine veränderungen vorgenommen werden. ich brauche also in js eine harmonierende de- und encrypt-Funktion.
hier der php-code
weder mit cryptojs noch mit jsmcrypt habe ich es in js hinbekommen die daten wieder zu entschlüsseln.
ich hoffe das jemand von euch auf dem gebiet richtig fit ist und mir unter die arme greifen kann.
Danke, Danke und nochmal Danke
ich probiere und suche schon den ganzen tag, komme aber überhaupt nicht weiter. ich rufe mit ajax verschlüsselte daten von einem webserver ab. diese muss ich entschlüsseln um sie weiterverwenden zu können. an dem php-script der die daten liefert können keine veränderungen vorgenommen werden. ich brauche also in js eine harmonierende de- und encrypt-Funktion.
hier der php-code
Code:
class MCrypt { private $iv = 'fedcba9876543210'; private $key = '0123456789abcdef'; function __construct() { } /** * @param string $str * @param bool $isBinary whether to encrypt as binary or not. Default is: false * @return string Encrypted data */ function encrypt($str, $isBinary = false) { $iv = $this->iv; $str = $isBinary ? $str : utf8_decode($str); $td = mcrypt_module_open('rijndael-128', ' ', 'cbc', $iv); mcrypt_generic_init($td, $this->key, $iv); $encrypted = mcrypt_generic($td, $str); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $isBinary ? $encrypted : bin2hex($encrypted); } /** * @param string $code * @param bool $isBinary whether to decrypt as binary or not. Default is: false * @return string Decrypted data */ function decrypt($code, $isBinary = false) { $code = $isBinary ? $code : $this->hex2bin($code); $iv = $this->iv; $td = mcrypt_module_open('rijndael-128', ' ', 'cbc', $iv); mcrypt_generic_init($td, $this->key, $iv); $decrypted = mdecrypt_generic($td, $code); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $isBinary ? trim($decrypted) : utf8_encode(trim($decrypted)); } protected function hex2bin($hexdata) { $bindata = ''; for ($i = 0; $i < strlen($hexdata); $i += 2) { $bindata .= chr(hexdec(substr($hexdata, $i, 2))); } return $bindata; } }
Code:
$mcrypt = new MCrypt(); $encrypted = $mcrypt->encrypt("test"); //result: 9d4f494195e6a16b25546c852450f809
ich hoffe das jemand von euch auf dem gebiet richtig fit ist und mir unter die arme greifen kann.
Danke, Danke und nochmal Danke
Kommentar