Hashowanie stringa

0

Witam

Mam do wpisanie do bazy string o dlugosci 20, pole w bazie ma dlugosc 15, odpada zmiana dlugosci w bazie.
Potrzebuje algorytm hashujacy, ktory wyliczy mi sume kontrolna ale zawsze zwroci string o max dlugosci 15.
Jest na to gotowe rozwiazanie?

Z gory dzieki za odpowiedz.

0

ale chcesz to odczytać potem ?
jak nie to choćby suma CRC, czy jakikolwiek <= 120 bitowy algorytm hashujący
jak tak to musisz zrezygnować ze znaków i np zobligować się do korzystania tylko z przedziału powiedzmy 16 znaków - wtedy możesz w jeden bajt wsadzić dwa znaki o ile pole będzie mogło przechowywać dane binarne które z tego wyjdą
albo ew. jakaś kompresja ale wtedy musiałbyś trzymać (słownik) w innym miejscu bo trochę ciasno, ale to równie dobrze mógłyś utworzyć drugie pole które przetrzyma te nadprogramowe 5 bajtów

0

Musze miec ciag maxymalnie 15 znkow (otrzymany z dluzszego) zeby zapisac je do bazy.
poza tym dwa rozne ciagi zankow nie moga mi zwrocic tego samego zhashowanego stringa.
Musze dostac dane w postaci String.

Aha korzystam z interbase. Moze da sie w nim zamiast pola wstawic wskaznik do innego (raczej watpie ale kto to wie)

0

dodatkowa tabela i po sprawie... choć to dość naciągane bo albo zmiana długości pola albo ograniczenie usera

0

co za problem - obciąć z hasza ostatnie 5 liter, a potem przy porównywaniu sprawdzać pierwsze 15?

0

dodam tak offtopowo, ze oczywiscie zwrasta mozliwosc wystapienia kolizji (pewnie nie znaczna i dla Twojego projektu nie tak istotna).

1 użytkowników online, w tym zalogowanych: 0, gości: 1