|
|
|
สอบถามการ ใช้ ฟังก์ชั่น AES_ENCRYPT(); AES_DECRYPT(); ใน sql หน่อยครับ |
|
|
|
|
|
|
|
ขอมูลเก็บเป็นรูปแบบ varbinary(1000) ครับ
|
|
|
|
|
Date :
2013-08-13 14:50:04 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่าครับ เป็นเหตุผลเดียวกันกับที่ผมบอกครับ
VARBINARY (1000) หมายความว่า ข้อมูลคุณใหญ่สูงสุดได้แค่ 1000 Bytes หรือประมาณ 1KB
ซึ่งไฟล์รูปภาพส่วนใหญ่มันเกิน 1KB จึงทำให้เกิดความผิดพลาดดังกล่าวครับ
ลองเปลี่ยนชนิดเป็น MEDIUMBLOB หรือ LONGBLOB แล้วใส่ข้อมูลดูใหม่ครับ
ว่าแต่ทำไมต้อง ENCRYPT ข้อมูลรูปภาพพวกนี้ครับ
|
|
|
|
|
Date :
2013-08-13 20:41:52 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อจริงๆแล้วผมจะไป encrypt ข้อมูลอื่นครับนี่แค่ทดสอบเฉยๆ คุณแมวครับผมใช้ โค้ดประมานนี้
ถ้าเป็นแบบนี้จะ decrypt ได้ถูกต้อง
Code (PHP)
<?
$sql = "insert into user set staff_picture = aes_encrypt('abcd', '1234')";
$query = mysql_query($sql);
$sql = "select aes_decrypt(staff_picture, '1234') from user";
$query = mysql_query($sql);
while($rs = mysql_fetch_assoc($query)){
?>
<p><?=$rs["aes_decrypt(staff_picture, '1234')"];?></p>
<?
}
?>
แต่ถ้าผมใช้โค้ดนี้ มันจะ decrypt array ออกมาแค่ช่องเดียวที่เหลือจะเป็น null หมดเลยเป็นเพราะอะไรครับ
Code (PHP)
<?
$sql = "insert into user set staff_picture = aes_encrypt('abcd', '1234')";
$query = mysql_query($sql);
$sql = "select aes_decrypt(staff_picture, '1234') from user";
$query = mysql_query($sql);
$rs = mysql_fetch_assoc($query);
echo "<pre>";
print_r ($rs);
echo "</pre>";
?>
|
|
|
|
|
Date :
2013-08-15 10:26:13 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|