Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przesuwanie o pare znakow
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam chce napisac sobie prosta funckje szyfrujaca/kodujaca tekst lecz nie wiem zabardzo jak przesunac sie o kilka znakow do przodu/tylu mam taki kod:

Lecz to nic nie zwraca zmienna $haslo jest pusta a tak wywoluje:
  1. <?php
  2. szyfruj($_POST['tekst']);
  3. ?>

wiec powinno byc good ale tak nie jest (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) i nie wiem jak przesunac o dana ilosc znakow czy moze ktos dac jakies wskazowki??

EDIT
  1. <?php
  2. function szyfruj($co) {
  3.  
  4. $a = strlen($co);
  5.  
  6. for ($i = 0; $i <= $a; $i++) {
  7.  
  8. if(ord($co[$i]) >= 48 && ord($co[$i]) <= 57 ||
  9.  ord($co[$i]) >= 65 && ord($co[$i]) <= 90 ||
  10.  ord($co[$i]) >= 97 && ord($co[$i]) <= 122) {
  11.  
  12.  $haslo_r .= $co[$i];
  13.  $haslo = sprintf("%d", $haslo_r);
  14. }
  15. }
  16.  
  17. return $haslo;
  18. }
  19. ?>

Zwraca zawsze 0 poprostu chce zeby albo pokazywal wynik jako kod asci lub dodawal do kazdej litery np 5 czyli jak bedzie w ciagu A to ma byc F

Ten post edytował marcio 31.01.2008, 21:50:11
Go to the top of the page
+Quote Post
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


w tym celu najlepiej wykorzystaj już gotową funkcję str_rot13" title="Zobacz w manualu PHP" target="_manual , która implementuje algorytm rot13 (przesuwa o 13 znaków), np.

  1. <?php
  2. $zaszyfrowane = str_rot13('tekst do zaszyfrowania');
  3. ?>


jednak do prawdziwego szyfrowania używaj mcrypt" title="Zobacz w manualu PHP" target="_manual. metody oparte na przesuwaniu każdy domorosły kraker złamie w minutę.
Go to the top of the page
+Quote Post
marcio
post
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


to juz uzywam bo pisze koder w ph i mam juz md5/sha1/base64/crypt/rot13 i teraz chce zrobic taki co bedzie przeskakiwal o tyle pol ile mu sie poda w drugim argumencie ktory jeszcze musze dodac lub tylko o 5 miejsc lecz nie wiem jak to przesunac

To jak jakies pomysly??

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
nowotny
post
Post #4





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Taka byłaby podstawa...
  1. <?php
  2. function szyfruj($co) {
  3. $a = strlen($co);
  4. $haslo='';
  5.  
  6. for ($i = 0; $i <= $a; $i++){
  7. if((ord($co[$i]) >= 48 && ord($co[$i]) <= 57) || (ord($co[$i]) >= 65 && ord($co[$i]) <= 90) || (ord($co[$i]) >= 97 && ord($co[$i]) <= 122)) {
  8.  
  9.  $char = chr(ord($co[$i])+5);
  10.  $haslo .= $char;  
  11. }
  12. }
  13.  
  14. return $haslo;
  15. }
  16. ?>


Teraz musisz tylko dodać sprawdzanie $char czy nie przekracza zakresów...
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Czyli wszystko dobrze robilem przedtem tylko brakowalo mi tego
  1. <?php
  2. $char = chr(ord($co[$i])+5);
  3. ?>

Tylko nie rozumiem czemu trzeba najpierw zamieniac na znaki a potem do ascii dodawac 5 nie mozna dac tylko ord??

Ej mam jeszcze jedno pytanie a jak zrobic zeby odszyfrowywal??Pytam nie jestem mocny w robieniu odwrotnych funkcji a -5 nic nie zwraca

Ten post edytował marcio 2.02.2008, 14:51:27
Go to the top of the page
+Quote Post
nowotny
post
Post #6





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Cytat(marcio @ 2.02.2008, 14:33:41 ) *
Czyli wszystko dobrze robilem przedtem tylko brakowalo mi tego

No nie bardzo... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cytat(marcio @ 2.02.2008, 14:33:41 ) *
Tylko nie rozumiem czemu trzeba najpierw zamieniac na znaki a potem do ascii dodawac 5 nie mozna dac tylko ord??

Erm... nie rozumiem pytania... :/

Cytat(marcio @ 2.02.2008, 14:33:41 ) *
Ej mam jeszcze jedno pytanie a jak zrobic zeby odszyfrowywal??Pytam nie jestem mocny w robieniu odwrotnych funkcji a -5 nic nie zwraca

SOA#1...

BTW, w pętli for zmien sobie znak... zamiast '<=' powinno być samo '<'...
Go to the top of the page
+Quote Post
marcio
post
Post #7





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


OKi dzialalo tylko ze mi sie litorewka dala do zmiennej

OKi dzialalo tylko ze mi sie litorewka dala do zmiennej
Go to the top of the page
+Quote Post

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: 16.09.2025 - 17:44