Funkcja MD5 służy do konwersji ciągu znaków na 32-znakowy ciąg tekstowy w PostgreSQL. Wykorzystywany w tej funkcji algorytm MD5 został zaprojektowany do konwersji ciągu znaków na 32-znakowy ciąg tekstowy przy użyciu 128-bitowego szyfrowania. Funkcja MD5 jest ważną i użyteczną funkcją w PostgreSQL ponieważ funkcji MD5 możemy użyć np.: w momencie tworzenia użytkownika, aby zapewnić użytkownikowi zaszyfrowane hasło.
Jak funkcja MD5 działa?
- Funkcja MD5 akceptuje jeden ciąg lub jeden argument jako ciąg wejściowy podczas konwersji ciągu na ciąg tekstowy.
- Funkcja MD5 traktuje każde słowo jako ciąg znaków w PostgreSQL. Funkcja działa tylko na ciągu znaków, a nie na liczbach.
- Aby przekonwertować ciąg na ciąg tekstowy, powinniśmy zdefiniować ciąg znaków w pojedynczym cudzysłowie.
Przykład z tekstem :
Jako wynik zapytania otrzymujemy:
Przykład z liczbami:
Na wyjściu otrzymujemy błąd ponieważ funkcja MD5 działa tylko na ciągu znaków, a nie na wartości całkowitej.
Możemy to naprawić dodając do wartości pojedyńczy cudzysłów, w następujący sposób:
Przykład 3
Do tego przykładu weźmiemy tabelę pracownik, którą utworzyliśmy podczas pracy nad artykułem na temat typu danych hstore. Chcemy zaszyfrować dane znajdujące się w kolumnie name (w której znajduje się imię i nazwisko pracownika) i zaprezentować je w osobnej kolumnie:
Na wyjściu otrzymujemy:
Idźmy dalej, załóżmy że chcemy otrzymać wynik funkcji MD5 w formie wartości UUID ( jest to sekwencja 32 cyfr w formacie szesnastkowym przedstawionych w grupach oddzielonych myślnikami):
Jako wynik otrzymujemy:
Przykład 4
Na koniec prosty przykład aktualizacji wartości w tabeli w kolumnie col_md5 dla wybranego wiersza:
Podsumowanie
Funkcja MD5 jest bardzo ważną funkcją w PostgreSQL i jest zasadniczo stosowana w aplikacjach, w których dużą uwagę skupia się na zewnieniu bezpieczeństwa danych.
Po więcej informacji zapraszamy na szkolenie.