PDA

View Full Version : اینکریپت یک رشته در دات نت و دیکرایپت اون در پی اچ پی



shahryari
یک شنبه 11 اسفند 1392, 11:32 صبح
سلام خدمت اساتید
آیا الگوریتم مشترکی بین دات نت و پی اچ پی است که بشود یک رشته را درزبان سی شارپ یا وی بی دات نت اینکریپت کرد
و مقدار اینکریپت شده رو در پی اچ پی دیکرایپت کرد و برشگردوند؟
با تشکر از دوستان

MMSHFE
یک شنبه 11 اسفند 1392, 16:35 عصر
میتونید از الگوریتمهای عمومی مثل AES یا base64 استفاده کنید.

shahryari
یک شنبه 11 اسفند 1392, 17:22 عصر
باتشکر
الگوریتم AES را در دات نت بلدم
اما نحوه باز گرداندنش در php مشکل دارم

MMSHFE
یک شنبه 11 اسفند 1392, 17:27 عصر
<?php

/**
* @author M-L-F
* @copyright 2014
*/

class AES {
private static $key;
public function __construct($key) {
$this->key = $key;
}
public function Encrypt($value) {
return rtrim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL _256, $this->key, $value, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, MCRYPT_MODE_ECB), MCRYPT_RAND))), "\0");
}
public function Decrypt($value) {
return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->key, base64_decode($value), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAE L_256, MCRYPT_MODE_ECB), MCRYPT_RAND)), "\0");
}
}

// Usage:
$aes = new AES('test');
echo $aes->Encrypt('Hello'); // output: AS7m8iW2jOb91LwQyPAAleIMOqO/PfYF5U4E0YGcU2U=
echo $aes->Decrypt('AS7m8iW2jOb91LwQyPAAleIMOqO/PfYF5U4E0YGcU2U='); // output: Hello

?>

به جای test همون کلیدی رو بدین که توی NET. موقع رمزنگاری مشخص کردین.