Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Fukcje haszujące plpg/sql
Forum PHP.pl > Forum > Bazy danych
chyzio
Czy jest coś takiego w postgresie (plpg/sql'u) jak powiedzmy php'owe sha1? Pisze procedurke która pobiera hasła jako open text haszuje je i przepisuje do innej tablicy.
chyzio
W porządku mam funkcję:

  1. CREATE OR REPLACE FUNCTION sha1(bytea)
  2. RETURNS character varying AS $BODY$
  3. BEGIN RETURN ENCODE(DIGEST($1, 'sha1'), 'hex');
  4. END;
  5. $BODY$
  6. LANGUAGE 'plpgsql'


wywołanie:
  1. SELECT sha1('test')


i odpowiedź:

"ERROR: function digest(bytea, unknown) does not exist
LINE 1: SELECT ENCODE(DIGEST( $1 , 'sha1'), 'hex')
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
QUERY: SELECT ENCODE(DIGEST( $1 , 'sha1'), 'hex')
CONTEXT: PL/pgSQL function "sha1" line 2 at RETURN"

Co tu jest źle ?
wookieb
Jak widzisz jest to dodatkowy moduł. Chyba musisz go doinstalować.
chyzio
Tyle że hosting w nazwie :/

Na pytanie jak to rozwiązać otrzymałem odpowiedź z netart (nazwa.pl) "Ta funkcja nie działa na naszych serwerach i nie planujemy jej włączenia.
Proszę rozwiązać ten problem inaczej (zmienić w kodzie)"

Jak to można rozwiązać z plpgsql'a ? php nie wchodzi w gre koniecznie trigger'y
wookieb
Znalazłem jsowa wersje szyfrowania. Mozesz to przerobic na jezyk postgresa http://www.webtoolkit.info/javascript-sha1.html
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.