Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เข้าใจการเข้ารหัส base64 ใน MySQL หรือไม่


ในการเข้ารหัส base64 คุณสามารถใช้สองฟังก์ชัน -

  • TO_BASE64()
  • FROM_BASE64()

ไวยากรณ์สำหรับการเข้ารหัส base64 มีดังนี้ -

เลือก TO_BASE64(anyValue) เป็น AnyVariableName;

ไวยากรณ์สำหรับการถอดรหัส base64 มีดังนี้ -

เลือก FROM_BASE64(encodeValue) เป็น anyVariableName

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราใช้ไวยากรณ์ข้างต้น −

กรณีที่ 1 - เข้ารหัส

ในการเข้ารหัสค่า ให้ใช้ to_base64() แบบสอบถามมีดังนี้ −

mysql> เลือก TO_BASE64('Password') เป็น Base64EncodeValue;

ผลลัพธ์

<ก่อนหน้า>+-------------------+| Base64EncodeValue |+-------------------+| UGFzc3dvcmQ=|+-------------------+1 แถวในชุด (0.00 วินาที)

กรณีที่ 2 - ถอดรหัส

ในการถอดรหัสค่า ให้ใช้ from_base64() แบบสอบถามมีดังนี้ −

mysql> เลือก FROM_BASE64('UGFzc3dvcmQ=') เป็น Base64DecodeValue;

ผลลัพธ์

<ก่อนหน้า>+-------------------+| Base64DecodeValue |+-------------------+| รหัสผ่าน |+-------------------+1 แถวในชุด (0.00 วินาที)

คุณสามารถเข้าใจสิ่งนี้ได้โดยการสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง Base64Demo-> (-> ProductId varchar(100)-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า Base64Demo ('321Product'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า Base64Demo ('Product456'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรก ลงในค่า Base64Demo('654Product');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก Base64Demo;

ผลลัพธ์

<ก่อนหน้า>+-----------+| ProductId |+-----------+| 321สินค้า || Product456 || 654Product |+------------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะเข้ารหัสใน base64 แบบสอบถามมีดังนี้ −

mysql> เลือก TO_BASE64(ProductId) เป็น Base64Encode จาก Base64Demo;

ผลลัพธ์

<ก่อนหน้า>+-----------------+| Base64Encode |+-----------------+| MzIxUHJvZHVjdA==|| UHJvZHVjdDQ1Ng==|| NjU0UHJvZHVjdA==|+------------------+3 แถวในชุด (0.00 วินาที)

ตอนนี้ให้เราตรวจสอบดูว่าหลังจากถอดรหัสค่าแรกในคอลัมน์แล้ว เราจะได้ค่าเดิมหรือไม่ แบบสอบถามมีดังนี้ −

mysql> เลือก FROM_BASE64('MzIxUHJvZHVjdA==') เป็น DecodeValue;

ผลลัพธ์

<ก่อนหน้า>+-------------+| DecodeValue |+--------------------+| 321Product |+-------------+1 แถวในชุด (0.00 วินาที)

ใช่ เราได้รับค่าเริ่มต้น