it-place.net > Уроци > Други
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Хеширане - основни понятия.
  1. Що е то хеширане
  2. за какво се използва
  3. Справяне с колизиите
  4. Алгоритми за хеширане
  5. Пароли, идентификация
     
Автор  johnfound (29.07.2004 22:38)  съобщение до автора
Погледнат  4807 пъти  добави към любими
Оценка  добави коментар
Гласове  13  изпрати на приятел
Коментари  (1)  абонирай се за Други
    Страница 5 / 5

 



2. Пароли, идентификация.

    Другата голяма област на приложение на хеш функциите е идентификацията на потребители и разпознаване на пароли. Тук се използва свойството на хеша, че е необратим. Тоест няма алгоритмичен начин по хеш стойността да определим началният стринг.
    При използване на хеширането в тази област, колизиите нямат значение, защото можем да използваме хешове с произволна дължина, дори и такава по-голяма от входният стринг. Тук не се гони бързодействие, а сигурност. А знаем, че ако дължината на хеша е по-голяма от тази на входният стринг, е възможно да се намери такава функция, която да не дава колизии за целият диапазон на входните стрингове.
   
    Как въобще става разпознаването на потребители по парола?
Най-простият начин е да пазим паролите в масив, заедно със имената на потребителите и директно да ги сравняваме с тези, които потребителят въвежда.
    Този метод е безкрайно ненадежден обаче. Всеки който има достъп до файла с паролите, ще може да ги види и използва.
    При предаване на тези пароли по интернет, нещата са още по-зле, защото може да ги прихване всеки.
    Използването на криптиране на файловете с пароли също не е решение, защото всеки криптиращ алгоритъм може да се декриптира.
    Всъщност правилното решение е просто - не пазим въобще паролите на потребителите, а пазим само хеш стойността от тази
парола. При искане на достъп до някой ресурс, потребителя въвежда някаква дума, която се хешира и така получената стойност се сравнява с базата данни за даденият потребител. Ако хеш стойностите съвпадат, потребителя се пуска.
    Дори и някой да има достъп до базата данни, той няма да може да разбере какви са паролите на потребителите, защото хеш функцията не може да се инвертира.
    Както вече казахме, колизиите тук нямат значение, защото се избират хешове с голяма дължина (MD5 например е 16 байта - 128бита дълъг)
    Изобщо, приложението на хеш функциите в тази област е тривиално и сравнително лесно, а основният акцент е върху качеството на самите хеш алгоритми.
   
25.07.2004

©2004 John Found
<A HREF="http://asm32.hosters.uni.cc/" TARGET="_blank" class="grau_normal">callPower - Българският сайт за асемблер.</A>



 << Предишна страница  


Ключови думи: хеш начинаещи програмиране хеширане


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: johnfound  
Занимавам се с програмиране от 1983 година. Експерт по програмиране на Delphi и Assembler. Разбира се понякога работя и на PHP, Perl и др.под. В момента се занимавам с програмиране на автоматизирани системи за производство в голяма немска фирма в България. От 2003г започнах проект с отворен код, целта на който е разработката на съвременна среда и средства за програмиране на асемблер под Windows, конкурентна на езиците от високо ниво. Подробности за проекта можете да намерите на: http://fresh.flatassembler.net
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Браво! Чудесна статия. Всеки който се занимава с бази данни ще се сблъска с хеширането, но в повечето книги само се среща този термин. Материала е написан съвсем разбираемо, хубавото е, че е подкрепен и с примери. Успех!

  paro777 на 18.04.2006 19:51

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008