|
|
|
สอบถามวิธี encode string ที่ decode ได้แค่เราหรือ decode ยากๆ พอจะมีหรือเปล่าครับ |
|
|
|
|
|
|
|
ถ้าเอาแบบไม่ยุ่งยาก ไม่เน้นความเร็วสูง ก็ใช้พวก cryptography library ครับ เช่น mcrypt
โดยฟังก์ชั่นพวกนี้คนที่มี key เท่านั้นที่จะสามารถจะถอดรหัสได้
|
|
|
|
|
Date :
2014-12-06 21:37:37 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับผมลองแล้วครับ เวลา encrypt จะได้เป็นประมาณนี้ Quote:27\‡×Ð÷>N†£c-É 9¿Âƒ6ÿ Ë6¹ì$ù$@ˇF(ò£„
ผมอยากเข้ารหัสแล้วมีแค่ตัวเลขและตัวอักษรภาษาอังกฤษต้องแก้ยังไงครับ ต้องเอาไปใช้กับ get ด้วยครับ ?url=....
นี่โค้ดที่ผมลอง
Code
<?php
$text = "abcdefghijklmnopqrstuvwxyz";
$key = "This is private key";
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encrypt = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $text, MCRYPT_MODE_ECB, $iv);
$decrypt = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $encrypt, MCRYPT_MODE_ECB, $iv);
echo "$encrypt<br>$decrypt";
?>
|
|
|
|
|
Date :
2014-12-06 22:57:14 |
By :
peammm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
base64_encode / base64_decode ครับ
Code (PHP)
<?php
$text = "abcdefghijklmnopqrstuvwxyz";
$key = "This is private key";
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encrypt = base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $text, MCRYPT_MODE_ECB, $iv));
$decrypt = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, base64_decode($encrypt), MCRYPT_MODE_ECB, $iv);
echo "$encrypt<br>$decrypt";
?>
|
|
|
|
|
Date :
2014-12-06 23:01:55 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่งเห็นว่าใช้กับ url ด้วย
ต้องเพิ่มอีกนิดครับ เพราะ base64 ปกติมันมี + และ / ที่เป็นอักษรพิเศษสำหรับ url
เราจึงต้องแปลง + และ / ให้เป็นอย่างอื่น ตามมาตรฐาน Base64 for URL จะใช้ - และ _ ครับ
Code (PHP)
<?php
$text = "abcdefghijklmnopqrstuvwxyz";
$key = "This is private key";
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encrypt = strtr(base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $text, MCRYPT_MODE_ECB, $iv)), '+/', '-_');
$decrypt = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, base64_decode(strtr($encrypt, '-_', '+/')), MCRYPT_MODE_ECB, $iv);
echo "$encrypt<br>$decrypt";
?>
|
ประวัติการแก้ไข 2014-12-06 23:06:56
|
|
|
|
Date :
2014-12-06 23:05:38 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากคร้าบบได้แล้ววว
|
|
|
|
|
Date :
2014-12-06 23:09:01 |
By :
peammm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|