# PHTML Encoder
PHTML Encoder เป็นโปรแกรมเข้ารหัสประเภทแชร์แวร์ที่ถูกพัฒนาโดย RSSoftware Lab โดยรองรับขั้นตอนวิธีการเข้ารหัสหลากประเภท โปรแกรมนี้ถูกเขียนขึ้นสำหรับทำงานทั้งบนระบบปฏิบัติการไมโครซอฟท์ วินโดวส์ และลินุกซ์

PHTML Encoder ถูกสร้างขึ้นเพื่อใช้ในการเข้ารหัสพีเอชพีสคริปต์ก่อนที่จะทำการแจกจ่ายออกไป เพื่อไม่ให้ผู้อื่นทราบตรรกะของผู้พัฒนาได้ ทั้งยังสามารถกำหนดให้สคริปต์ที่ถูกเข้ารหัสทำงานเฉพาะบนเครื่องใดเครื่องหนึ่ง เพื่อให้สคริปต์ดังกล่าวทำงานได้เฉพาะบนเครื่องของผู้พัฒนาได้ โปรแกรมสามารถทำงานได้บนทุกแพลตฟอร์มที่รองรับการทำงานของภาษาพีเอชพี และยังมีส่วนต่อประสานกับผู้ใช้ทั้งแบบกราฟิก และ command-line อีกด้วย

นอกเหนือไปจากตัวโปรแกรมแล้ว ทาง RSSoftware Lab ยังมีการขายซอร์สโค้ดของโปรแกรมพร้อมสิทธิ์ในการปรับแก้อีกด้วย นี่แตกต่างจากโอเพนซอร์สซอฟต์แวร์ตรงที่ไม่อนุญาตให้มีการแจกจ่ายซอร์สโค้ดของโปรแกรมต่อ และผู้ใช้ต้องซื้อตัวซอร์สโค้ดจากทางบริษัท แทนที่จะเป็นการแจกจ่ายเสรี

 การทำงานของ PHTML Encoder 
PHTML Encoder จะทำการเข้ารหัสพีเอชพีสคริปต์บนเครื่องแม่ข่ายด้วยขั้นตอนวิธีการเข้ารหัสที่ผู้ใช้เลือกไว้ แต่เครื่องแม่ข่ายยังคงสามารถประมวลผลสคริปต์ดังกล่าวได้ปกติ ทั้งนี้เพื่อให้ผู้ใช้เกิดความมั่นใจว่าสคริปต์ของตนจะไม่ถูกนำไปเผยแพร่โดยไม่ได้รับอนุญาต

 300px|thumb|การเข้ารหัสสคริปต์โดยใช้ PHTML Encoder 300px|thumb|ภาพแสดงการประมวลผลสคริปต์ที่ผ่านการเข้ารหัสแล้ว

 ตัวอย่างสคริปต์ก่อนการเข้ารหัสRSSoftware Lab. PHTML Encoder. 2007; [cited 2008 Feb 23]; [3 screens] Available at URL: http://www.rssoftlab.com/phpenc.php:
<?php
phpinfo  ;
?>
 จะได้รับการเข้ารหัสเป็น:
 PHPEnc8+æ&FºUJ�Y&#Yr) njLµY÷w}a

เมื่อมีเครื่องลูกข่ายเชื่อมต่อเข้ามายังเครื่องแม่ข่ายเว็บ เครื่องแม่ข่ายจะทำการค้นหาไฟล์พีเอชพีสคริปต์แล้วส่งไปให้ PHP preprocessor ตามปกติJohn Coggshall. An Introduction to PHP. 2001; [cited 2008 Mar 6]; [6 screens] Available at URL: http://www.onlamp.com/pub/a/php/2001/02/22/php_foundations.html 
ทั้งนี้หากเราได้ทำการติดตั้งไลบรารีของโปรแกรมเอาไว้แล้ว PHP preprocessor จะสามารถทำความเข้าใจสคริปต์ที่ถูกเข้ารหัสไว้ได้เสมือนว่ามันไม่ได้ถูกเข้ารหัส PHP preprocessor จะทำการประมวลผลเปลี่ยนสคริปต์นั้นเป็น HTML แล้วส่งเป็นเว็บเพจกลับไปยังเครื่องลูกข่ายอีกครั้ง

PHTML Encoder สามารถใช้ขั้นตอนวิธีในการเข้ารหัสดังต่อไปนี้ได้ 3-WAY, AES (Rijndael), Blowfish, CAST-128, CAST-256, DESX (DES-XEX3), Diamond2, GOST, IDEA, MARS, RC2, RC5, RC6, SAFER, Serpent, SHARK, Skipjack, Square, TEA, Triple DES, Twofish ฯลฯ

อย่างไรก็ตาม PHTML Encoder ที่จำหน่ายเสรีนั้นมีข้อเสียอยู่นั่นคือการที่ผู้ใช้ไม่สามารถเลือกคีย์หรือขั้นตอนวิธีด้วยตัวเองได้หากไม่ใช้เวอร์ชัน PRO (ซึ่งต้องซื้อจากผู้พัฒนา) ทำให้ผู้ใช้ PHTML Encoder คนอื่น ๆ สามารถถอดรหัสสคริปต์ของตัวผู้ใช้เองได้ทั้งหมด

 คุณลักษณะของ PHTML Encoder 
 มีการเข้ารหัสพีเอชพีสคริปต์ ทำให้มีความปลอดภัยของข้อมูลมากขึ้น
 การล็อกสคริปต์เข้ากับเว็บเซิร์ฟเวอร์โดยใช้ไอดีของเครื่อง
 ทำงานได้หลายระบบปฏิบัติการ จึงสามารถทำงานบนคอมพิวเตอร์เครื่องใดก็ได้ที่รองรับภาษาพีเอชพี
 สคริปต์ที่เข้ารหัสแล้วสามารถนำไปใช้งานได้สามรูปแบบด้วยกันคือ ใช้แทนไลบรารีของเอนจินภาษาพีเอชพีเดิม ใช้เป็นตัวเสริมของพีเอชพี หรือทำให้เป็นสคริปต์ที่สามารถถอดรหัสด้วยตัวเองได้ (self-decodable script)
 ผู้ใช้สามารถตั้งรหัสผ่านให้กับสคริปต์ของตนเองได้ (เฉพาะ PHTML Encoder PRO)
 สามารถปรับแต่งเวอร์ชันให้กับสคริปต์ของผู้ใช้ได้ (เฉพาะ PHTML Encoder PRO)
 ป้องกันการคัดลอกโค้ดไปใช้โดยไม่ได้รับอนุญาตได้ (เฉพาะ PHTML Encoder PRO)
 ใช้งานได้ทั้งบน วินโดวส์, ลินุกซ์, โซลาริส, FreeBSD (เฉพาะ PHTML Encoder PRO)
 มีซอร์สโค้ดมาให้ ทำให้สามารถปรับเปลี่ยนโปรแกรมให้เข้ากับการใช้งานของผู้ใช้ด้วยตนเองได้ (เฉพาะ PHTML Encoder PRO)

 ประวัติ 
แต่เดิม PHTML Encoder ถูกพัฒนาภายใต้ชื่อ PHP Encoder แต่ภายหลังได้รับคำร้องขอจาก PHP Group ให้เปลี่ยนชื่อ จึงเปลี่ยนมาใช้ชื่อ PHTML Encoder จนถึงปัจจุบัน