2007/Dec/23

*วันนี้ขอฉีกแนว เขียนอะไรหนุกๆหน่อยครับ
สืบเนื่องจากไปซื้อ DVD ลดราคามาหลายเรื่อง และหนึ่งในหลายเรื่องนั้นคือเรื่อง Enigma
ภาพยนตร์เรื่องนี้ได้เคท วินสเล็ท นางเอกไทเทนิคมาเล่น .. อาจจะดูอวบไปนิด  -_-'
แต่ก็น่ารักดี ..

enigma

หนังพูดถึงเครื่องเข้ารหัสชื่อว่า อีนิคม่า (ตามรูป) หน้าตาคล้ายเครื่องพิมพ์ดีดธรรมดา
แต่เครื่องนี้ถือเป็นสุดยอมคอมพิวเตอร์ในสมัยนั้น .. กล่าวคือ เราจะมีวิธีซ่อนข้อความผ่านเจ้าเครื่องนี้

เริ่มจากเซ็ทเฟืองใหม่ทุกวันๆละ 3 ตัว เฟืองนี้ก็จะมีตัวแปร A-Z ค่าของเฟืองจะแปรผันกับคีย์บอร์ด
เช่น เมื่อพิมพ์ตัว Z ในเฟืองที่ตัวแรกที่หันด้าน Z เอาไว้ ก็อาจจะได้ตัว Z แต่ถ้าหันเป็นด้านอื่นเอาไว้
พิมพ์ตัว Z ก็อาจจะได้ผลเป็นอย่างอื่น ซึ่งความน่าจะเป็นๆไปได้เยอะมาก โดยเฉพาะอย่างยิ่ง เมื่อมีเฟืองถึงสามตัว

ในภาพยนตร์ได้ชี้แจงไว้ว่าความน่าจะเป็นต่อ 1 ตัวอักษร อยู่ที่ 1.5 ล้าน,ล้าน รูปแบบเลยทีเดียว

เจ๋งไหมครับ ^-^

ทีนี้พอดูๆไป ไอ่เราก็อยากจะมีอะไรแบบนี้ไว้เล่นมั่งสิ
แต่จะไปหาเครื่งจักรหน้าตาดีแบบนี ก็คงยาก ..
ก็เลยเปิดหนังสือการโปรแกรมมิ่งแล้วคิดวิธีง่ายๆ ในการลองเข้ารหัสดูแทน


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ออกตัวไว้ก่อนว่า .. ผมเรียนสายศิลป์วาดแต่รูปมาเพียวๆ หากอธิบายอะไรไม่เข้าใจก็ต้องขออภัยไว้ ณ ที่นี้
และรบกวนผู้รู้ ช่วยแจงไว้ด้วย ก็จะเป็นพระคุณมากครับ



ผมคิดง่ายๆว่า ถ้าเอาแค่ให้ข้อความมันไม่เหมือนเดิม = อ่านไม่ออก
ดังนั้น concept ของผมคือ ต้องการนำข้อความมาขยับไป 1 step พยัญชนะครับ
เช่น A ก็จะกลายเป็น B    เช่นหากพิมพ์ข้อความว่า ANT เมื่อเข้ารหัสแล้วก็จะได้ข้อความว่า BOU
แน่นอน .. อ่านไม่รู้เรื่องแล้วล่ะ ^-^ 

ผมเขียนโดยใช้ script ASP classic นะครับ สามารถ copy ไปทดลอง ปรับปรุงกันได้ตามอัธยาศัย
เริ่มจากก็ต้องมีช่องสำหรับพิมพ์ข้อความครับ (form)

<form name="form1" method="post" action="input.asp">

<textarea name="frm_source" cols="50" rows="12" id="frm_source"></textarea>
<input type="submit" name="Submit" value="เข้ารหัส  &gt;">

</form>


จาก script ก็เป็นการส่งข้อมูลไปที่ไฟล์ input.asp นะครับ เป็น form แบบพิมพ์ได้หลายๆบรรทัดหน่อย
ส่วนไฟล์เข้ารหัสก็มีข้อมูลดังนี้

'รับค่ามาจาก form ก่อน
frm_source=request.Form("frm_source")
' จากนั้นนำจำนวนข้อความที่ส่งมาว่ามีกี่ตัวอักษร
len_source=len(frm_source)
' วนลูปเท่าจำนวนตัวอักษร
for i=1 to len_source

        ' ตัดข้อความมาทีละตัวให้เริ่มต้นตัดตามลูป เพราะจะได้ขยับเข้าไปทีละตัวครับ
        mid_source=mid(frm_source,i,1)
        ' แปลงข้อความที่ตัดมาเป็น Ascii code ก่อน จะได้นำไป + หรือ - เพื่อขยับตัวอักษรได้
        asc_source=asc(mid_source)
  
        ' นำค่า Ascii ที่ได้ไป + 1 เพื่อขยับตัวอักษรขึ้นครับ    
        end_source=asc_source+1
        ' แปลงกลับมาเป็นข้อความครับ
        chr_source=chr(end_source)
       
        ' นำข้อความที่ตัดมาทีละตัว มารวมเข้าเป็นประโยคใหม่อีกครั้ง
        if answer="" then
                answer=chr_source
            else
                answer=answer+chr_source
        end if
        ' วนไปทำใหม่มาให้ครบประโยคเดี๋ยวนี้!!
next


เป็นไงมั่งครับ code จริงๆมีนิดเดียวเอง (แต่ตอนคิดอ่ะนาน -_-')
ส่วนที่ธีแปลงกลับก็เช่นกันครับ ทำให้กลับค่ากันเท่านั้นเอง
เหล่านี้เป็นวิธีง่ายๆครับ จริงๆถ้าจะให้สมบูรณ์ คงต้องมีการสุ่มวิธีเข้ารหัส
แล้วมันจะยาวไปถึงอัลกอรึทึ่ม .. ซึ่งมันก็จะเกินสมองทึ่มๆของผมไปแล้วล่ะ 55

ผมได้ทดลอง upload code ไว้เล่นที่
http://www.yimlamai.com/test/index_form.asp
ใครสนใจก็ลองดูได้ครับ


ปล.ข้อเสียของมันก็คือ -_-' ถ้าพิมพ์ว่า 11111 มันก็จะได้ 22222 อ้าว ..
คนอื่นก็รู้หมดอ่ะสิ ว่าเราเขียนวิธีเข้ารหัสไว้ยังไง .. เจ๊ย!!

ชื่อ: 
เว็บไซต์: 
คอมเมนต์:




smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry
น่างงเนอะ
คิดได้นะคนเรา รหัสลับรหัสงง
เคยได้ยินคนพูดภาษาแปลกๆ ไหมคะ
เคยมีน้องที่บริษัทเค้าพูดกัน แบบภาษากบ
(ไม่รู้เรียกถูกรึปล่าวค่ะ) คือทุกตัวที่ตั้งใจจะ
พูดจะลงท้ายด้วยตัวสะกด บ.ใบไม้แทน
ฟังแล้วงงค่ะ เหมือนๆ ว่า ..
" ทุกตัวที่ตั้งใจจะพูดจะลงท้ายด้วย ..บ "
" ทบตบทบตับจับจบพบจบลบทาบดาบ บบ "
???
ไม่แน่ใจในการเขียนที่ถูกต้อง เอิ๊กกก แต่
เวลาฟังแล้วทั้งขำ และงง คนพูดโต้ตอบกัน
สื่อสารกันรู้เรื่องด้วยอ่ะ wink sad smile
#1  by  moodee At 2007-12-23 11:25, 
## รูปร่างดี สุขภาพดี ด้วยวิธีที่ฉลาด วันนี้ตัวคุณอยู่ในระดับไหนแล้ว-------## ลองเข้าไปสำรวจตัวเองในเวอ วาย เว็ป http://copyme.org/?d9eeb2 หรือ ก๊อปไปวางแล้วกดเอ็นเตอร์ ก็เข้าไปสำรวจตัวเองได้แล้วคะ
#2  by  กด (58.9.88.183) At 2007-12-23 15:07, 
เอิ๊ก .. ของคุณหมูดี เข้ารหัสได้งงกว่าที่เขียนอีก 55
เวลามีสงคราม ข้อมูลข่าวสารคือพลัง
เค้าก็เลยหาวิธีป้องกัน และแก้ไขกันเท่าที่จะคิดได้
แม้แต่อินเตอร์เน็ตนี่ ยังเกิดจากเรื่องนี้เลยครับ

แต่มาถึงตอนนี้ มันก็เป็นอะไรสนุกๆ ให้คิดเล่นๆน่ะครับ

วาดรูปเยอะๆ เดี๋ยวสมองโตข้างเดียว 55 ;P

#3  by  ★ STARBUCKS! no coffee,no me and no you! At 2007-12-23 16:12, 
เคยเล่นวิธีเข้ารหัสแบบภาษาอังกฤษครับ
เล่นมาตั้งแต่ยังอยู่ ม.3 (ผ่านมา 10 กว่าปีละ เวร รู้อายุเราพอดี)
ไม่ทราบว่าเคยเล่นหรือเปล่า ที่วาดตาราง OX 2 ตาราง และตารางขีดไขว้เป็นตัว X อีกสองตาราง

จากนั้นให้เขียนตัวอักษรภาษาอังกฤษลงไปในตารางนั้น ช่องละ 1 ตัว ไล่จากซ้ายมาขวา บนลงล่าง และเริ่มจากตาราง OX ให้ครบก่อนค่อยเขียนลงในตาราง X ต่อ

เวลาเข้ารหัสก็ให้เขียนจากรูปร่างของส่วนของตารางที่ตรงกับตำแหน่งของตัวอักษรนั้นๆ

เช่น A จะได้รหัสเป็น _| ตัว B ก็จะได้ |_| อะไรทำนองนี้ครับ
#4  by  DeltaDrive At 2007-12-23 16:47, 
^!^ เอิ๊กซ์...วันนี้มาแปลกแฮธ..ออกแนว IT ยังไงก็ไม่รู้ค่ะ..แต่ไม่รู้ซินะค่ะ..เรารู้สึกว่า คุณ ลี ( ลี..ใจ..ดิง..หนุ่มเกาหลีนะค่ะ ) อธิบายเรื่องสายลมและแสงแดดแบเดิมเรากลับเข้าใจมากกว่าแฮะ! ( เอ๊ะ หรือเราโง่เองต่างหากหว่า ...)sad smile sad smile sad smile sad smile
#5  by  butterflyheart At 2007-12-23 17:17, 
แรกๆเข้าใจนะ
แต่พอพี่ให้โค้ดอะไรมาสคิปอะไรสักอย่างมานี่
โค้ดจะงงเลย - -'
#6  by  น้ำเงินเจือขาว At 2007-12-23 20:11, 
^-^
ปรกติก็เขียนรูป & ถ่ายรูปยามว่างล่ะครับ
แต่งานอดิเรกอีกอย่างก็คือเขียนโปรแกรม

แล้วการเขียนโปรแกรมเนี่ย ถ้าไม่เขียนซะบ้าง มันจะลืมครับ
ไม่เหมือนวาดรูป ที่โดยมากจะเป็นแล้วเป็นเลย
ทั้งสองอย่าง เป็นทักษะที่แปลกดี

วาดรูปฝึกสังเกตุสังกาได้ดี และส่วนใหญ่จะเป็นทักษะที่ได้แสดงออกให้ผู้อื่นรับรู้ได้สนุกสนาน
ส่วนเขียนโปรแกรม เหมือนเป็นการเล่นเกมส์เอาชนะตัวเอง
โจทย์คือความท้าทายที่เราตั้งขึ้นเอง .. แล้วบริหารทรัพยากร (องค์ความรู้ของตรรกะทาง ภ. นั้นๆ)
เพื่อแก้ไขปัญหาที่เราตั้งขึ้น ..

ทั้งสองอย่าง ใช้สมองคนละส่วน (หนังสือว่างั้น)
แต่ผมคิดว่า มันคล้ายกันมากๆเลย ..

จริงๆนะ -_-'
#7  by  ★ STARBUCKS! no coffee,no me and no you! At 2007-12-24 03:01, 
อ้อ .. ลืมไปอย่าง
วิธีเข้ารหัสที่คุณ DeltaDrive ว่าเนี่ย
ผมไม่เคยเล่นครับ แต่ทำให้นึกถึงการเข้ารหัสของอักษรเบล์ได้เลยครับ

เคยรู้ว่า จริงๆแม้แต่การเรียงตัวอักษรบรแป้นคีย์บอร์ดเนี่ย
ก็ผ่านการถกกันด้วยวิธีคิดหลายๆแบบ
กว่าจะมาลงตัวที่แบบปัจจุบัน

มันเป็นเรื่องใกล้ตัวที่น่าทึ่งดีนะ ^-^
#8  by  ★ STARBUCKS! no coffee,no me and no you! At 2007-12-24 03:05, 
โอ้ววว เจ๋็ง ๆ ๆ ครับ น่าลองไปทำเล่นดูบ้าง
#9  by  เจ้าชายน้อย At 2007-12-24 18:38, 
ตอนอยู่ม.2เคยประดิษฐ์ตัวอักษรและพยัญชนะใช้เองค่ะ ในกลุ่มนักสืบ (ตั้งกลุ่มนักสืบขึ้นมาเป็นองค์กรลับๆ)แล้วการสื่อสารต้องใช้รหัสและก็โค้ด ใช้อักษรที่คิดขึ้นสื่อสารกันในกลุ่ม หนุกมากๆ เพราะไม่มีใครอ่านออกเลยนอกจากคนในกลุ่ม (3คน)big smile
#10  by  นกจร At 2007-12-25 23:02, 
เอ่อ...
แน่ใจนะว่าง่าย.sad smile
#11  by  รายละเอียดที่หายไป... (58.9.123.120) At 2008-02-13 19:18, 

<< Home


ลิงใจดี
View full profile