![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 137 Pomógł: 0 Dołączył: 9.11.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Mam następujące pytanie jak w php można w prosty sposób skrócić długość stringa ale tak by później móc odzyskać całą informacje?
Próbowałem z długiego stringa robić md5 i później odkodowywać ale md5 zwraca jeszcze za długi ciąć. Czy jest jakieś bardziej kodowanie gdzie można by skrócić tą długość? p.s. Czy znacie może namiary na jakiąś gotową funkcję która zamieni mi tablice na liczbe a inna funkcja z powrotem po podaniu ów liczby utworzy tablice? pozdro haryb |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
md5 nie odkodujesz ...
chyba nie ma takiej gotowej funkcji . sam coś zmontuj np str_replace('az','X',$tresc); i odkodowanie str_replace('X','az',$tresc); tyle że może być problem z odkodowaniem... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
tylko że to miało skrócić stringa ...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 137 Pomógł: 0 Dołączył: 9.11.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
No właśnie szukam takiego sposobu by np z takiej długości :
234234fddf245345sdfdfgd Zrobił chociaż połowe i żeby później można było odkodować. Ewentualeni jeśli znacie rozwiązanie z mojego P.S w pierwszym poście to również rozwiązało by mój problem. Po prostu musze tylko i wyłącznie za pomocą GET ( zadna sesja, coockie itd nie wchodzi w gre)przesłać zawartość tablicy - kodujac ja na jakas liczbe, bity itd a póżniej odebrac i znowu odtworzyc cal tablice. I mam taki jakiś trefny ale działąjący alegorytm który zamienia tablice na string 01-nkowy nastpenie spowrotem tworzy tablice , ale jak tablica ma kilkanascie rekordow to ten string zakodowany jest strasznie dlugi i nie chciał bym go wrzucać do GETa. pozdro haryb |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
O jeb.
Koles, do kompresji masz zip'a, gzipa itd. md5 sie do tego nie nadaje bo tego nie odkodujesz. A nie mozesz zapisac w bazie tej tablicy i tylko przekazac jej ID? |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czy jest jakieś bardziej kodowanie gdzie można by skrócić tą długość? Przypomnij sobie lekcję z systemów liczbowych z informatyki (jeśli ją miałeś) i stwórz własny korzystając z pozostałych znaków alfabetu. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Nie tylko 1-16 (hex), ale 1-40 cyfr w jednym znaku. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 137 Pomógł: 0 Dołączył: 9.11.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
To pliki możesz przecież ponazywać odpowiednio, zrobić sobie płaską bazę, czy wreszcie SQLite...
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 578 Pomógł: 69 Dołączył: 15.04.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił tak: aby maxymalnie zmniejszyć wielkość ciągu ustal jakie znaki mogą się w nim znajdować (np wiesz że nie powinno tam być dużych liter), a następnie wrzuć cały alfabet do tablicy
Kod $tablica=array('a','b','c'); $l=length($tablica); następnie ciąg rozbijasz na tablice: Kod $ciag=explode("",$ciag); i zapisujesz ciag w liczbie: Kod $suma=0; foreach($ciag as $znak){ $n=numer_znaku($tablica,$znak) $suma=$suma*$l+$n; } gdzie funkcja 'numer_znaku' zwraca liczbę mówiącą na którym miejscu w tabeli znajduje się znak Gwarantuje Ci że taki sposób kompresji jest najlepszy (pesymistycznie), lecz jego kodowanie i odkodowanie przy dłuższych ciągach może być czasochłonne |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 7 Dołączył: 9.12.2008 Skąd: wroc Ostrzeżenie: (0%) ![]() ![]() |
md5 nie odkodujesz ... A program John the Ripper (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
A program John the Ripper (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif) a brutal force, a tęczowe tablice... tu raczej chodzi o szybie odkodowanie a nie zarzynanie kompa. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 1 Dołączył: 20.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przypomnij sobie lekcję z systemów liczbowych z informatyki (jeśli ją miałeś) i stwórz własny korzystając z pozostałych znaków alfabetu. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Nie tylko 1-16 (hex), ale 1-40 cyfr w jednym znaku. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) 36, używając base_convert |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A program John the Ripper (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif) Nic nie odkodowuje md5. Można co najwyżej trafić na taki sam hash. A odnośnie kompresji - zależy jak długi tekst chcesz skompresować. Jeśli krótki, to nie warto się tym tematem interesować. Jeśli długi, można spróbować z gzcompress" title="Zobacz w manualu PHP" target="_manual połączonym z base64_encode" title="Zobacz w manualu PHP" target="_manual. Połączony, o ile chcesz użyć w skompresowanym ciągu samych "czytelnych" znaków. Ten post edytował mls 2.04.2009, 18:20:34 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 00:41 |