Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] szyfrowanie danych
FireMan
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 4.10.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Witam. Mam problem z plikiem który w prosty sposób zamienia podany wyraz na jego zamiennik. Zmienne $hars, są sobie odpowiednikami i na podstawie ustawienia tych znaków, pobierany ma być klucz. (IMG:style_emoticons/default/tongue.gif) Wiem że gadam pewnie jakieś niezrozumiałe głupoty, ale nie wiecie jaki może być problem ? Myślę że kod jest prosty i każdy go zrozumie.

Podając słowo "krowa" powinno nam zwrócić ciąg ">\mÓ-".

  1. <?php
  2. $hars = "qwertyuiopasdfghjklzxcvbnm[]\;',./`1234567890-=QWERTYUIOPASDFGHJKLZXCVBNM{}|:<>?~!@#$%^&*()_+ę€óąśłżźćńĘÓĄŚŁŻŹĆŃ";
  3. $hars2 = "Ó^\1E~Hmx-štR#kS>+bLFD3vrZćłoMIa?=nCf}ńTŁB.yŻe98`dQWVż?ęl)&($ĽJ6{Ć:/?zĘ_?!?i]*@GN<|XP0q,YAó[Ń'c;7g4Us5ju2OhK%w?p";
  4. $end = "";
  5.  
  6. function hash_key($value)
  7. {
  8. $ile = strlen($value);
  9. for($i = 1; $i==$ile; $i++)
  10. {
  11. $pos = strpos($value[$i],$hars);
  12. $end[$i] = $hars2[$pos];
  13. }
  14.  
  15. $value2 = $end;
  16.  
  17. return $value2;
  18. }
  19.  
  20. print hash_key("krowa");
  21.  
  22. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(toaspzoo @ 18.06.2011, 19:22:26 ) *
Nie używaj polskich znaków w php, szczególnie w funkcjach

Gadasz takie bzdury, że aż pragnę iść kupić benzynę na twój stos.
Naucz się używać mb_string to nie będziesz gadał głupot.

@FireMan
Czemu funkcja nie działa?
1) bo pętla się nie wykonuje
2) bo zmienne $hars i inne nie są widoczne
3) bo źle zdobywasz $pos
4) bo z $end robisz tablicę

W skrócie - człowieku masakra, ocknij się.

@crozin
str_split nie działa ze znakami wielobajtowymi (ó, ł) itd

Ale dzieci nie płaczcie, bo przybywa wasze zbawienie.
  1. function hash_key($value)
  2. {
  3. $end = "";
  4. $hars = 'qwertyuiopasdfghjklzxcvbnm[]\;\',./`1234567890-=QWERTYUIOPASDFGHJKLZXCVBNM{}|:<>?~!@#$%^&*()_+ę€óąśłżźćńĘÓĄŚŁŻŹĆŃ';
  5. $hars2 = 'Ó^\1E~Hmx-štR#kS>+bLFD3vrZćłoMIa?=nCf}ńTŁB.yŻe98`dQWVż?ęl)&($ĽJ6{Ć:/?zĘ_?!?i]*@GN<|XP0q,YAó[Ń\'c;7g4Us5ju2OhK%w?p';
  6. $ile = strlen($value);
  7. mb_internal_encoding('utf-8');
  8. for($i = 0; $i<$ile; $i++)
  9. {
  10. $pos = mb_strpos($hars, $value[$i]);
  11. $end .= mb_substr($hars2, $pos, 1);
  12. }
  13.  
  14. $value2 = $end;
  15. return $value2;
  16. }

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 13:00