Code:
;----------------------
;ตัวอย่าง:
;
;//echo -a $encryptxor(สวัสดีครับ,MTX Script) เพื่อเข้ารหัส
; แสดงผลออกมาเป็น jg6V*!N
; //echo -a $encryptxor( jg6V*!N,MTX Script) เพื่อถอดรหัส
; แสดงผลออกมาเป็น สวัสดีครับ
alias encryptxor {
var %string, %key
var %x = 0, %xi = 0, %ii = 0, %iii = 0
;; Set up Vars ต้องใช้สตริง 2 ค่า และตัวแปร 4 ค่า เพื่อประมวลผลการวนลูป
while (%x < $len($1)) {
;ในระหว่างที่ X น้อยกว่าความยาวของสตริง
inc %x | inc %xi
; ให้นับค่า x และ xi เพิ่มขึ้นเรื่อยๆ
if (%xi > $len($2)) { %xi = 1 }
;หาก XI น้อยกว่าความยาวของคีย์
%ii = $asc($mid($1,%x,1))
;; ทำการดึงค่ารหัสแอสกี้สำหรับ %X ในตัวอักษรที่เป็นสตริง
%iii = $asc($mid($2,%xi,1)) + 128
;; สร้างคีย์จากรหัสแอสกี้สำหรับ %xi และเพิ่มจำนวนเข้าไปอีก 128 สำหรับรหัสแอสกี้อื่นๆ
%string = %string $+ $chr($xor(%ii, %iii))
;; เพิ่มรหัสใหม่สำหรับ xor เพื่อเข้ารหัสสตริง 1 โดย 1
}
return %string
;; สุดท้ายจะเป็นการแสดงผลสำหรับการเข้ารหัส xor
}