 |
|
|
 |
 |
|
มีความจำเป็นอะไรขนาดนั้นที่จะต้องเข้ารหัสผ่านครับ
|
 |
 |
 |
 |
Date :
2009-11-27 18:22:44 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือผมจะต้องทำโปรเจคจบอะครับ ถ้าในชีวิตจริงก็คงไม่อะครับ แต่ตอนขึ้นสอบทำเรื่องนี้ไปแล้วอะครับ ไงก็ช่วยเด็กน้อยตาดำๆๆหน่อยนะครับ
|
 |
 |
 |
 |
Date :
2009-11-28 10:16:27 |
By :
ณรงค์ฤทธิ์ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ความรู้ไม่ถึงคับ
DES ชนิด CBC คืออะไรเอ่ย?
ถ้าก้อบส่งมันก็คือก้อบส่ง 
ถ้าอยากทำเอง ต้องถาม
|
 |
 |
 |
 |
Date :
2009-11-28 11:50:11 |
By :
pjgunner |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุณ num ครับช่วยอธิบายให้เข้าใจกว่านี้ได้ไหมครับ คือผมรู้แต่ ทฤษฎีอะครับ
คือตอนเข้า รหัส
Data Encryption Standard (DES) ชนิด Cipher Block Chaining (CBC) Modeจะต้องทำการแบ่งข้อมูลที่ต้องการเข้ารหัส เป็นส่วนๆ ส่วนละ 64 บิต ในครั้งแรกจะมีการ Random Key 64 bit เพื่อนำมาใช้ในการ XOR กับ Plain Text 64 bit กลุ่มแรก แล้วถึงผ่านขบวนการเข้ารหัสข้อมูล จะได้ Cipher Text 64 bit ในชุดแรกออกมาและเอา Cipher Text 64 bit ที่ได้ในชุดแรก มาเป็น Key ในกลุ่มถัดไป
ตอนถอด รหัส
จะนำ Cipher Text 64 bit มาผ่านขบวนการถอดรหัส และผลลัพธ์ที่ได้จะนำมา XOR กับ Key 64 bit จะได้เป็น Plain Text 64 bit ออกมาในการถอดรหัสจะใช้ Cipher Text ของชุดที่แล้วมาเป็น Key ยกเว้นในรอบแรก จะใช้ Random Key
ช่วยทีนะครับ ผู้รู้ทั้งหลาย ว่าจะเอามาเขียนโค้ดยังไง
|
 |
 |
 |
 |
Date :
2009-11-28 13:51:45 |
By :
ณรงค์ฤทธิ์ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมไม่ได้รู้ทฤษฎีนะครับแต่รู้หลักคร่าวๆ ของการเข้ารหัสเท่านั้นครับ
ตัวแปร $iv
The IV is only meant to give an alternative seed to the encryption routines. This IV does not need to be secret at all, though it can be desirable. You even can send it along with your ciphertext without losing security.
เป็นค่าที่ใช้ช่วยให้ ค่า text ที่ถูก encrypt มีความเดายากขึ้นสำหรับบาง encryption algorithm ครับ
$data คือข้อมูลที่เป็นความลับที่ต้องการเข้ารหัส
สมมุติ เครื่อง 1 ส่ง $edata (chiphertext) ที่ได้จากการใช้ $key เข้ารหัส และ $iv ไปให้ เครื่อง 2
เครื่อง 2 ก็จะใช้ $key และ $iv ในการถอดรหัสได้กลับมาเป็นค่า $ddata ซึ่งจะมีค่าเท่ากับ $data ครับ
ซึ่งค่า $key จะต้องเก็บไว้เป็นความลับระหว่างเครื่องสองเครื่องครับ เพราะจะใช้ในการถอดรหัส
<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_3DES, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = 'keytest';
$data = 'data-test';
$edata = mcrypt_encrypt(MCRYPT_3DES, $key, $data, MCRYPT_MODE_CBC,$iv);
$ddata = trim(mcrypt_decrypt(MCRYPT_3DES, $key, $edata, MCRYPT_MODE_CBC,$iv),"\0");
echo '<br>data='.$data;
echo '<br>edata='.$edata;
echo '<br>data='.$ddata;
?>
|
 |
 |
 |
 |
Date :
2009-11-28 14:30:52 |
By :
num |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับคุณ NUM ผมก็จะลองให้เอาใช้ดูผมก็ภาวนาขอให้มันรู้เหมือนการเข้ารหัสอย่าง MD5 แล้วกัน ไม่ต้องมาเขียนที่ละนิดๆๆ
|
 |
 |
 |
 |
Date :
2009-11-28 15:23:47 |
By :
ณรงค์ฤทธิ์ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|