Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $INniz='jacked'; //vhodni niz
- $char = 'D'; //zacetna crka
- $key = 'lovec'; //geslo
- $abc = array(1=>'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V','Z'); //abeceda
- $INniz = strtoupper($INniz); //vse vhodne nize spremenimo v velike crke
- $char = strtoupper($char);
- $key = strtoupper($key);
- $vnos = str_split($INniz); //vse vhodne nize razbijemo v arraye
- $crka = str_split($char);
- $kjuc = str_split($key);
- foreach($abc as $index => $element) //crke v $abc zamenjamo s stevili
- {
- $value = array_search($element, $abc);
- $ABCst[] = $value; //dodamo jih v nov array $ABCst
- }
- foreach($kjuc as $index => $element) //tudi crke v kjucu zamenjamo z stevilkami
- {
- $value = array_search($element, $abc);
- $K[] = $value; //dodamo jih j nov array $K
- }
- $zacetek = array_search($char, $abc); //tudi začetno črko zamenjamo s številko
- foreach($K as $index => $element) //v array code (kjer je kodirana abeceda dodamo kjuc, začnemo pri začetni črki
- {
- $code[$zacetek+$index] = $element;
- }
- for($a = 1; $a <= count($abc); $a++) //sedaj moramo iz abecede izločiti črke, ki so že uporabljene v kodirani abecedi
- {
- if(!(in_array($ABCst[$a-1],$code)))
- {
- $prazna[]= $ABCst[$a-1]; //neuporabljene črke dodamo v array "prazna"
- }
- }
- $i = 1;
- while($i <= count($abc)) //kodirano abecedo dopolnimo s črkami, ki še niso uporabljene
- {
- $value = $zacetek + count($K)-1 + $i; //začnemo pri koncu gesla + $i
- if($value > count($abc)) //ko prečkamo velikost abecede se vrnemo na začetek
- {
- $value = $value - count($abc);
- }
- if (!(array_key_exists($value, $code)))
- {
- $code[$value] = $prazna[$i-1];
- }
- $i++;
- }
- ksort($code); //vrednosti v kodirani abecedi razporedimo po velikosti indexov
- foreach($code as $index => $element)
- {
- $konec[] = $abc[$element]; //kodirano abecedo ( v številkah) zamenjamo z črkami
- }
- foreach($abc as $index => $element) //razporedimo abecedo tako da je uporabljen tudi index 0
- {
- $lepaAbeceda[] = $element;
- }
- foreach($vnos as $index => $element) //vnosnemu nizu zamenjamo črke iz abecede v tisto iz zakodirane abecede
- {
- $value = array_search($element, $lepaAbeceda);
- $IZHOD[] = $konec[$value];
- }
- echo implode('',$IZHOD); //izpišemo zakodiran niz
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement