
рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рддрд╛рдХрдд рдмрдврд╝ рдЧрдИ рд╣реИ, рдмрд╛рд░-рдмрд╛рд░ рдкрддреНрд░ рдЕрдм рдХреЛрдИ рдЦрддрд░рд╛ рдирд╣реАрдВ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ (BARK LLC -> ), рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдФрд░ рдмрд┐рдВрджреБ рд╕рд┐рдлрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рддрд░рд╣ рдХреЗ рджрд┐рдЦреЗрдЧрд╛ ("IVANOV") "IDEYUAV")ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЫреЛрдЯреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЛрдб рд╢рдмреНрдж рдХреА рд▓рдВрдмрд╛рдИ рдкрд╛рда рдореЗрдВ рдЕрдХреНрд╕рд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╖рдгреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдпрджрд┐ рдХреЛрдб рд╢рдмреНрдж рдХреА рд▓рдВрдмрд╛рдИ рдмрдврд╝рд╛рдХрд░ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрдВрдШреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реА рдкрд╛рда рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдкрд░рд┐рдгрд╛рдо рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣рд▓реЗ рдЪрд░рд┐рддреНрд░ рдореЗрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рд╕реНрддрд╛ рдорд┐рд▓ рдЧрдпрд╛, рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдПрдХ рджреЛрд╣рд░реА рдлрд╝рдВрдХреНрд╢рди рдХрд░рддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрд░реЛрдд рдкрд╛рда рдХреЗ рд▓рд┐рдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдмрд╛рдХреА рдкрд╛рда рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╢рдмреНрдж рдХреА рд╢рд┐рдлреНрдЯ рд╣реИ ("0" - "AVERS", "1" - "VERSA", "2 2" - "") рдЖрджрд┐)ред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреА рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд▓рдВрдмрд╛рдИ рдорд┐рд▓рддреА рд╣реИ (рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХреЗ рдЬреЛрдбрд╝ рдХреЗ рдХрд╛рд░рдг) рдФрд░ рд╕рдорд╛рди рдкрд╛рдареЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдХреНрд░рдоред
рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ PHP рдореЗрдВ рдХреЛрдб рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВ:
function vizhener_encode($text,$kod) // , { $kod=strtoupper($kod); $string=strtoupper($text); $enc = array(); $dec = array(); $str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for($i=0;$i<strlen($str);$i++) { for($j=0;$j<strlen($str);$j++) { $ij=$i+$j; if($ij>=strlen($str)) { $ij=$ij-strlen($str); } $enc[$str{$i}][$str{$j}]=$str{$ij}; $dec[$str{$i}][$str{$ij}]=$str{$j}; } } $pos=0; $result=""; $string=eregi_replace(" ","_",$string); for($i=0;$i<strlen($string);$i++) { if(!eregi($string{$i},$str)) { $result=$result.$string{$i}; } else { $result=$result.$enc[$kod{$pos}][$string{$i}]; $pos=$pos+1; if($pos>=strlen($kod)) { $pos=$pos-strlen($kod); } } } return $result; } function vizhener_encode_mod($text,$kod) // , { $kod=strtoupper($kod); $string=strtoupper($text); $enc = array(); $dec = array(); $str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $add=mt_rand(1,9); $string=$string; for($i=1;$i<=$add;$i++) { $string=$string.$str{mt_rand(0,strlen($str))}; } for($i=0;$i<strlen($str);$i++) { for($j=0;$j<strlen($str);$j++) { $ij=$i+$j; if($ij>=strlen($str)) { $ij=$ij-strlen($str); } $enc[$str{$i}][$str{$j}]=$str{$ij}; $dec[$str{$i}][$str{$ij}]=$str{$j}; } } $pos=0; $result=""; $string=eregi_replace(" ","_",$string); $pos=$pos+$add; while($pos>=strlen($kod)) { $pos=$pos-strlen($kod); } if($pos<0) { $pos=$pos+strlen($kod); } for($i=0;$i<strlen($string);$i++) { if(!eregi($string{$i},$str)) { $result=$result.$string{$i}; } else { $result=$result.$enc[$kod{$pos}][$string{$i}]; $pos=$pos+1; if($pos>=strlen($kod)) { $pos=$pos-strlen($kod); } } } $result=$enc[$kod{0}][$add].$result; return $result; } function vizhener_decode($text,$kod) // , { $kod=strtoupper($kod); $string=strtoupper($text); $enc = array(); $dec = array(); $str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for($i=0;$i<strlen($str);$i++) { for($j=0;$j<strlen($str);$j++) { $ij=$i+$j; if($ij>=strlen($str)) { $ij=$ij-strlen($str); } $enc[$str{$i}][$str{$j}]=$str{$ij}; $dec[$str{$i}][$str{$ij}]=$str{$j}; } } $pos=0; $result=""; $string=eregi_replace(" ","_",$string); for($i=0;$i<strlen($string);$i++) { if(!eregi($string{$i},$str)) { $result=$result.$string{$i}; } else { $result=$result.$dec[$kod{$pos}][$string{$i}]; $pos=$pos+1; if($pos>=strlen($kod)) { $pos=$pos-strlen($kod); } } } return $result; } function vizhener_decode_mod($text,$kod) // , { $kod=strtoupper($kod); $string=strtoupper($text); $enc = array(); $dec = array(); $str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for($i=0;$i<strlen($str);$i++) { for($j=0;$j<strlen($str);$j++) { $ij=$i+$j; if($ij>=strlen($str)) { $ij=$ij-strlen($str); } $enc[$str{$i}][$str{$j}]=$str{$ij}; $dec[$str{$i}][$str{$ij}]=$str{$j}; } } $pos=0; $result=""; $string=eregi_replace(" ","_",$string); $add=$dec[$kod{0}][$string{0}]; $pos=$pos+$add; while($pos>=strlen($kod)) { $pos=$pos-strlen($kod); } if($pos<0) { $pos=$pos+strlen($kod); } for($i=1;$i<(strlen($string)-$add);$i++) { if(!eregi($string{$i},$str)) { $result=$result.$string{$i}; } else { $result=$result.$dec[$kod{$pos}][$string{$i}]; $pos=$pos+1; if($pos>=strlen($kod)) { $pos=$pos-strlen($kod); } } } return $result; }
PS рд╣рд╛рдБ, рдХреЛрдб рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди, IMHO, рдЗрд╕ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред