Witam, czy jest jakaś prosta funkcja haszująca w php, która zamieni mi id klienta na jakiś skrót np 8-12 cyfrowy. Coś jak MD5 i MD4 tylko że te odpadają bo są za długie i mają też litery. Potrzebuję tego do identyfikacji wpłat od klientów. -- Pozdrawiam Łukasz Rostalski
Łukasz Rostalski pisze:
Witam, czy jest jakaś prosta funkcja haszująca w php, która zamieni mi id klienta na jakiś skrót np 8-12 cyfrowy. Coś jak MD5 i MD4 tylko że te odpadają bo są za długie i mają też litery. Potrzebuję tego do identyfikacji wpłat od klientów.
Witaj, ciekawy pomysł..funkcję można napisać, tylko w jakim celu ??? -- pozdrawiam, Dawid W
widynek pisze:
Łukasz Rostalski pisze:
Witam, czy jest jakaś prosta funkcja haszująca w php, która zamieni mi id klienta na jakiś skrót np 8-12 cyfrowy. Coś jak MD5 i MD4 tylko że te odpadają bo są za długie i mają też litery. Potrzebuję tego do identyfikacji wpłat od klientów.
Witaj,
ciekawy pomysł..funkcję można napisać, tylko w jakim celu ???
Napisać też dam radę, ale może jest coś w standardzie php. Mam z góry narzucony tytuł przelewu dla każdego klienta inny. Jak robię import płatności to mi z automatu klientów rozpoznaje. Problem w tym, że samo id klienta jako tytuł płatności to za mało, bo są tacy którzy zamiast IDA101IDA piszą IDA10IDA i robi się całkiem inny klient. Jak zamienię IDA101IDA, używając jakiejś funkcji haszującej, na postać np 12 cyfr to wyeliminuję pomyłki, tak przynajmniej to widzę w teorii. -- Pozdrawiam Łukasz Rostalski
Łukasz Rostalski pisze:
Witam, czy jest jakaś prosta funkcja haszująca w php, która zamieni mi id klienta na jakiś skrót np 8-12 cyfrowy. Coś jak MD5 i MD4 tylko że te odpadają bo są za długie i mają też litery. Potrzebuję tego do identyfikacji wpłat od klientów. Nie wiem co gdzie i tak dalej. Identyfikacja wpłat kojarzy mi się z importem. W związku z tym że mój bank codziennie robi sobie "kompaktowanie bazy" i usuwa spacje i inne znaki to haszowanie jakie było default mi było o kant dupy. (Po imporcie następnego dnia import zasysał jeszcze raz to samo). U siebie oparłem to na polu TNR, który to jest bankowym identyfikatorem wpłat paweł
Paweł Rohde pisze:
Nie wiem co gdzie i tak dalej. Identyfikacja wpłat kojarzy mi się z importem. W związku z tym że mój bank codziennie robi sobie "kompaktowanie bazy" i usuwa spacje i inne znaki to haszowanie jakie było default mi było o kant dupy. (Po imporcie następnego dnia import zasysał jeszcze raz to samo). U siebie oparłem to na polu TNR, który to jest bankowym identyfikatorem wpłat
Hmm nie głupie, ale to już jutro dziś pora spać. -- Pozdrawiam Łukasz Rostalski
Witam W liście z dnia 4 listopada 2009 (22:40:46) można przeczytać:
Witam, czy jest jakaś prosta funkcja haszująca w php, która zamieni mi id klienta na jakiś skrót np 8-12 cyfrowy. Coś jak MD5 i MD4 tylko że te odpadają bo są za długie i mają też litery. Potrzebuję tego do identyfikacji wpłat od klientów.
printf("%08x", crc32($id)); Na zakresie liczb 0-999999 nie ma powtórzeń, tj. wszystkie wartości są unikalne. Zwraca ośmioznakowy identyfikator zawierający znaki 0-9 i a-f. A! Chcesz bez znaków. Okej: printf("%010u", crc32($id)); Co prawda duże ryzyko wystąpienia samych zer na początku. http://pl2.php.net/manual/en/function.crc32.php -- Łukasz Jarosław Mozer lukasz@lms.org.pl http://www.baseciq.org 'To co może się nie udać, nie uda się na pewno.'
Łukasz Jarosław Mozer pisze:
printf("%08x", crc32($id));
Na zakresie liczb 0-999999 nie ma powtórzeń, tj. wszystkie wartości są unikalne. Zwraca ośmioznakowy identyfikator zawierający znaki 0-9 i a-f. A! Chcesz bez znaków. Okej:
printf("%010u", crc32($id));
Co prawda duże ryzyko wystąpienia samych zer na początku.
Właśnie o coś takiego chodziło :) Dzięki. To teraz z innej strony. Jak to teraz dodać to wydruku umowy, bo widzę że w smarty nie ma możliwości użycia takiej funkcji. A nie potrafię rozgryźć jak to dorzucić do wydruku. -- Pozdrawiam Łukasz Rostalski
Łukasz Rostalski pisze:
Łukasz Jarosław Mozer pisze:
printf("%08x", crc32($id));
Na zakresie liczb 0-999999 nie ma powtórzeń, tj. wszystkie wartości są unikalne. Zwraca ośmioznakowy identyfikator zawierający znaki 0-9 i a-f. A! Chcesz bez znaków. Okej:
printf("%010u", crc32($id));
Co prawda duże ryzyko wystąpienia samych zer na początku.
Właśnie o coś takiego chodziło :) Dzięki.
To teraz z innej strony. Jak to teraz dodać to wydruku umowy, bo widzę że w smarty nie ma możliwości użycia takiej funkcji. A nie potrafię rozgryźć jak to dorzucić do wydruku.
$SMARTY->assign('w_szablonie',$zmienna_badz_funkcja); paweł
uczestnicy (4)
-
Paweł Rohde -
widynek -
Łukasz Jarosław Mozer -
Łukasz Rostalski