ПредишенСледващото

Между другото, мисля, че по-важното е интелигентно подход при избора на азбуката. Например, аз не бих го включи твърде подобни символи - 0 и За и л 1 и аз, и други. Плюс това, малки и големи букви Урла - не е най-добрият "страничен ефект".

Отнася се за един алгоритъм, в който е позоваването първоначално всички с еднаква дължина. Разбира се, такова разнообразие от възможности, не е безкраен, но това е твърде голям.
Или, разбира се, е възможно и алгоритъма, което ще започне с кратък URL-ите и ако комплекта е над - ще се използва повече от един символ.
Основното нещо - не числови идентификатори. Е, т.е. връзки от типа на тези, които дадох един пример: bit.ly, clck.ru.

това, което не позволява това да се вземе MD5 yunikstayma и нарязани по дължина, вземете, например, първите 5 герои?

Фактът, че такъв уникален MD5 само при цялата си дължина.

Пълно или съкратено MD5 - все пак трябва да се провери за наличие на генерирания шифроването в базата данни. Тук е необходимо да се говори за вероятността от повторение на шифъра на две различни линии. И колкото по-кратък код номера на по-висока вероятност. И никой друг алгоритъм, който вероятно не намалява в същото равномерното разпределение на резултатите за криптиране. може и да се използват Затова съкращения MD5. Но това е по-добре да не вземаме md5 от време на време и от URL адрес, например. Ако не вярвате в еднаквост MD5 можете да използвате генератор на случайни числа, а след това преобразуване на номера на букви в кода си. Във всеки случай, тя ще се повтори. Те могат да бъдат изключени от просто увеличаване по едно, докато кодът няма да бъде уникален. С равномерно разпределение няма да е необходимо да се увеличи кода много пъти. Да речем, че има 45 милиона комбинации, а 40 от тях са заети. След средно всяка клетка 8 безплатно. И това ще бъде така на практика.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!