PDA

View Full Version : سوال: Encode و Decode کردن یک رشته به روش مشخص شده ی کاربر



Jarvis
سه شنبه 24 دی 1392, 14:40 عصر
دوستان کسی در مورد Encode کردن به روش دلخواه آموزشی سراغ داره
این که مثلا یه تابع داریم که میاد یه متن رو از ورودی میگیره و با الگوریتمی که ما براش مشخص کردیم Encode میکنه
از اون طرف یه تابع دیگه هم داریم که متن Encode شده رو Decode میکنه
توی این مسئله بیشتر الگوریتمش و نحوه ی پیاده سازیش توی PHP مهمه برام

sh.n.n786
سه شنبه 24 دی 1392, 14:59 عصر
درود و...
خودت Value هارو ويرايش كن




<?php

function sh786_encode($encode){
$chars = array(
'aNy4f' => 'آ',
'ki4jd' => 'ا',
'm9S78' => 'ب',
'Bayf5' => 'پ',
'akRrg' => 'ت',
'6469p' => 'ث',
'FtYj4' => 'ج',
'3624b' => 'چ',
'Avj84' => 'ح',
'235Jk' => 'خ',
'GptTl' => 'د',
'4hsad' => 'ذ',
'mAq3t' => 'ر',
'QarEb' => 'ز',
'jsh48' => 'ژ',
'H0d53' => 'س',
'fhGd4' => 'ش',
'dF36r' => 'ص',
'sE5ey' => 'ض',
'e5e5h' => 'ط',
'gJo1g' => 'ظ',
'agWHg' => 'ع',
'kj7Hg' => 'غ',
'qw6df' => 'ف',
'mKf5g' => 'ق',
'eTrTs' => 'ک',
'jFjGg' => 'گ',
'f73fg' => 'ل',
'40Ikj' => 'م',
'26Ksd' => 'ن',
'qgR6m' => 'و',
'jjdge' => 'ه',
'mFtu4' => 'ی',
'mBvg3' => 'ئ',
'OH83g' => '0',
'3iFr5' => '1',
'hkfVf' => '2',
'jm55g' => '3',
'vmdFe' => '4',
'brnGj' => '5',
'hgjLk' => '6',
'cgfJs' => '7',
'5dJst' => '8',
'f0G7f' => '9',
'54S0u' => ' ',
'aR101' => '!',
'bW102' => '@',
'aG103' => '#',
'aS104' => '$',
'Fe105' => '%',
'jF106' => '^',
'Ty107' => '&',
'Jj108' => '*',
'Kd109' => '(',
'sG110' => ')',
'wS111' => '-',
'TI112' => '_',
'hD113' => '=',
'wD114' => '+',
'hG115' => '\\',
'3A116' => '|',
'hS117' => '~',
'2H118' => '`',
'jO119' => '<',
'dP120' => '>',
'fS121' => '/',
'po122' => '?',
'p45r2' => ',',
'P4Fr2' => '.',
'qY123' => ';',
'aS124' => ':',
'jH125' => '\'',
'kG126' => '"',
'aG127' => '[',
'yH128' => ']',
'aH129' => '{',
'aH130' => '}',
'kHgfu' => 'a',
'rSjjf' => 'A',
'oGty6' => 'b',
'bnDw4' => 'B',
'qaQ6d' => 'c',
'qoIrh' => 'C',
'mnF45' => 'd',
'ooSoy' => 'D',
'6Rhd5' => 'e',
'AmFr4' => 'E',
'MrtS6' => 'f',
'xopSr' => 'F',
'cueXg' => 'g',
'akRyv' => 'G',
'peFat' => 'h',
'p3Yf7' => 'H',
'qhs63' => 'i',
'LhFr5' => 'I',
'4Hsfd' => 'j',
'7rHgs' => 'J',
'hR673' => 'k',
'lSG5d' => 'K',
'pRI5g' => 'l',
'ANfho' => 'L',
'0Tf4n' => 'm',
'gSh30' => 'M',
'Sd8gH' => 'n',
'gAVc5' => 'N',
'MogY2' => 'o',
'19f75' => 'O',
'94hd6' => 'p',
'g52j8' => 'P',
'ksY65' => 'q',
'gGad6' => 'Q',
'sHt87' => 'r',
'gr5df' => 'R',
'aAvr5' => 's',
'10375' => 'S',
'bAs56' => 't',
'gaFve' => 'T',
'kaLop' => 'u',
'fhBct' => 'U',
'mnAct' => 'v',
'laBbc' => 'V',
'7bScu' => 'w',
'7Aart' => 'W',
'0Fnrt' => 'x',
'oP6t1' => 'X',
'b3H6g' => 'y',
'la6F8' => 'Y',
'f2G3f' => 'z',
'j49F7' => 'Z',
);
$str = $encode;
foreach (preg_split('//u', $str) as $value)
if ($key = array_search($value, $chars))
print $key;
}
function sh786_decode($decode){

$chars = array(
'آ' => 'aNy4f',
'ا' => 'ki4jd',
'ب' => 'm9S78',
'پ' => 'Bayf5',
'ت' => 'akRrg',
'ث' => '6469p',
'ج' => 'FtYj4',
'چ' => '3624b',
'ح' => 'Avj84',
'خ' => '235Jk',
'د' => 'GptTl',
'ذ' => '4hsad',
'ر' => 'mAq3t',
'ز' => 'QarEb',
'ژ' => 'jsh48',
'س' => 'H0d53',
'ش' => 'fhGd4',
'ص' => 'dF36r',
'ض' => 'sE5ey',
'ط' => 'e5e5h',
'ظ' => 'gJo1g',
'ع' => 'agWHg',
'غ' => 'kj7Hg',
'ف' => 'qw6df',
'ق' => 'mKf5g',
'ک' => 'eTrTs',
'گ' => 'jFjGg',
'ل' => 'f73fg',
'م' => '40Ikj',
'ن' => '26Ksd',
'و' => 'qgR6m',
'ه' => 'jjdge',
'ی' => 'mFtu4',
'ئ' => 'mBvg3',
'&zwnj;0' => 'OH83g',
'1' => '3iFr5',
'2' => 'hkfVf',
'3' => 'jm55g',
'4' => 'vmdFe',
'5' => 'brnGj',
'6' => 'hgjLk',
'7' => 'cgfJs',
'8' => '5dJst',
'9' => 'f0G7f',
' ' => '54S0u',
'!' => 'aR101',
'@' => 'bW102',
'#' => 'aG103',
'$' => 'aS104',
'%' => 'Fe105',
'^' => 'jF106',
'&amp;' => 'Ty107',
'*' => 'Jj108',
'(' => 'Kd109',
')' => 'sG110',
'-' => 'wS111',
'_' => 'TI112',
'=' => 'hD113',
'+' => 'wD114',
'\\' => 'hG115',
'|' => '3A116',
'~' => 'hS117',
'`' => '2H118',
'&lt;' => 'jO119',
'&gt;' => 'dP120',
'/' => 'fS121',
'?' => 'po122',
'&middot;' => 'P4Fr2',
',' => 'p45r2',
';' => 'qY123',
':' => 'aS124',
'\'' => 'jH125',
'"' => 'kG126',
'[' => 'aG127',
']' => 'yH128',
'{' => 'aH129',
'}' => 'aH130',
'a' => 'kHgfu',
'A' => 'rSjjf',
'b' => 'oGty6',
'B' => 'bnDw4',
'c' => 'qaQ6d',
'C' => 'qoIrh',
'd' => 'mnF45',
'D' => 'ooSoy',
'e' => '6Rhd5',
'E' => 'AmFr4',
'f' => 'MrtS6',
'F' => 'xopSr',
'g' => 'cueXg',
'G' => 'akRyv',
'h' => 'peFat',
'H' => 'p3Yf7',
'i' => 'qhs63',
'I' => 'LhFr5',
'j' => '4Hsfd',
'J' => '7rHgs',
'k' => 'hR673',
'K' => 'lSG5d',
'l' => 'pRI5g',
'L' => 'ANfho',
'm' => '0Tf4n',
'M' => 'gSh30',
'n' => 'Sd8gH',
'N' => 'gAVc5',
'o' => 'MogY2',
'O' => '19f75',
'p' => '94hd6',
'P' => 'g52j8',
'q' => 'ksY65',
'Q' => 'gGad6',
'r' => 'sHt87',
'R' => 'gr5df',
's' => 'aAvr5',
'S' => '10375',
't' => 'bAs56',
'T' => 'gaFve',
'u' => 'kaLop',
'U' => 'fhBct',
'v' => 'mnAct',
'V' => 'laBbc',
'w' => '7bScu',
'W' => '7Aart',
'x' => '0Fnrt',
'X' => 'oP6t1',
'y' => 'b3H6g',
'Y' => 'la6F8',
'z' => 'f2G3f',
'Z' => 'j49F7'
);

$str = $decode;
foreach (str_split($str, 5) as $value)
if($key = array_search($value, $chars))
print $key;
}
?>

omid_student
سه شنبه 24 دی 1392, 15:40 عصر
سلام دوست عزیز ممنون از کد
میشه یه کم توضیح بدین چطوریاست مثلا عبارت منظم //u کارش چیه؟

danial.saeedi
سه شنبه 24 دی 1392, 22:36 عصر
چه روش جالبی ولی بازم نمی تونه امن باشه چون هربار مقدار یک سانه!!!
در ضمن U به معنی utf-8 است.

nsco_nsco
چهارشنبه 25 دی 1392, 04:17 صبح
سلام کد خوبی هست به نظر دوستان چطور میشه از همین اینکدور محافظت کرد >؟ در ضمن برای اینکه نمایش خود فانکشن نده و خروجی رو به صورت متغییر بده چ باید کرد ممنون دوستان من

danial.saeedi
چهارشنبه 25 دی 1392, 09:20 صبح
سلام دوست عزیز!اولا کد شما رو هیچ کس نموتونه ببینه(اگه سرور دارا درست حسابی باشند).دوما اگه می خوای رمز گزاری کنی به لینک زیر برو:
http://www.phpencode.org/#sample
بفرما کد رو رمز کردم :


<?php /*** PHP Encode v1.0 by zeura.com ***/ $XnNhAWEnhoiqwciqpoHH=file(__FILE__);eval(base64_d ecode("aWYoIWZ1bmN0aW9uX2V4aXN0cygiWWl1bklVWTc2YkJodWhOWU lPOCIpKXtmdW5jdGlvbiBZaXVuSVVZNzZiQmh1aE5ZSU84KCRn LCRiPTApeyRhPWltcGxvZGUoIlxuIiwkZyk7JGQ9YXJyYXkoNj U1LDIzNiw0MCk7aWYoJGI9PTApICRmPXN1YnN0cigkYSwkZFsw XSwkZFsxXSk7ZWxzZWlmKCRiPT0xKSAkZj1zdWJzdHIoJGEsJG RbMF0rJGRbMV0sJGRbMl0pO2Vsc2UgJGY9dHJpbShzdWJzdHIo JGEsJGRbMF0rJGRbMV0rJGRbMl0pKTtyZXR1cm4oJGYpO319"));eval(base64_decode(YiunIUY76bBhuhNYIO8($XnNhAWE nhoiqwciqpoHH)));eval(ZsldkfhGYU87iyihdfsow(YiunIU Y76bBhuhNYIO8($XnNhAWEnhoiqwciqpoHH,2),YiunIUY76bB huhNYIO8($XnNhAWEnhoiqwciqpoHH,1)));__halt_compile r();aWYoIWZ1bmN0aW9uX2V4aXN0cygiWnNsZGtmaEdZVTg3aX lpaGRmc293Iikpe2Z1bmN0aW9uIFpzbGRrZmhHWVU4N2l5aWhk ZnNvdygkYSwkaCl7aWYoJGg9PXNoYTEoJGEpKXtyZXR1cm4oZ3 ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJGEpKSk7fWVsc2V7ZWNo bygiRXJyb3I6IEZpbGUgTW9kaWZpZWQiKTt9fX0=29bbc66f06 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 1miY9p9+nUs/gNsjGJGrOyvTOx/idi/