Tip menambah fungsi SHA1 pada postgresql
October 21st, 2008
Pada tulisan yang lalu telah dibahas mengenai instalasi fitur kriptografi pada Postgresql. Pada kesempatan kali ini, akan dituliskan beberapa fungsi untuk mempersingkat fungsi yang ada. Jika menggunakan fungsi SHA1, maka sintak yang digunakan akan sangat panjang dan tidak efisien, yaitu:
encode(digest('sukses', 'sha1'), 'hex');
Fungsi diatas tersebut terlalu berbelit-belit dan panjang. Dalam beberapa bahasa pemrograman, fungsi tersebut dapat langsung dipanggil dengan menggunakan sintak:
hash_data = sha1(''sukses)
Berikut ini fungsi SHA1 yang dapat digunakan:
- Metode Pertama
CREATE OR REPLACE FUNCTION sha1(text) RETURNS text AS '
SELECT
ENCODE(DIGEST($1, ''sha1''),''hex'') AS result
' LANGUAGE 'SQL';
Penggunaan:
db=# select sha1('sukses');
sha1
------------------------------------------
71c4def8a402e1053c61dc532420b18ef0679f52
(1 row)
- Metode Kedua
CREATE OR REPLACE FUNCTION sha1(bytea) RETURNS char(40) AS $$
BEGIN
RETURN ENCODE(DIGEST($1, 'sha1'), 'hex');
END;
$$ LANGUAGE plpgsql;
Penggunaan:
db=# select sha1('sukses');
sha1
------------------------------------------
71c4def8a402e1053c61dc532420b18ef0679f52
(1 row)
Sumber:
http://raveica.comdurav.com/blog/programming/how-do-i-add-sha1-to-postgresql/
Tip menambah fungsi keamanan pada postgresql
October 10th, 2008
Pada instalasi default di Server Database Postgresql 8.1, fitur kriptografi hanya terbatas pada MD5 dan fungsi enkripsi dan dekripsi. Untuk dapat menggunakan fitur-fitur hashing yang lebih komplit, misal menggunakan fungsi SHA1, maka kita harus menambah fungsi kriptografi, yaitu paket postgresql-contrib.
Fitur-fitur kriptografi yang terdapat dalam paket postgresql-contrib:
- MD5
- SHA1
- SHA224/256/384/512
- Any other digest algo*
- Blowfish
- AES
- DES/3DES/CAST5*
- Raw encryption
- PGP Symmetric encryption
- PGP Public-Key encryption
* dengan menggunakan openSSL
Langkah untuk menambah fitur kriptografi dalam server Centos 5:
- Login sebagai root
- Install paket postgresql-contrib, dengan mengetikkan pada konsole:
[root@hris ~]# yum install postgresql-contrib - Untuk melihat hasil instalasi dapat digunakan perintah
[root@hris ~]# rpm -qil postgresql-contrib
Name : postgresql-contrib Relocations: (not relocatable)
Version : 8.1.11 Vendor: CentOS
Release : 1.el5_1.1 Build Date: Sab 12 Jan 2008 09:45:09 WIT - Kemudian eksekusi kueri pada file pgcrypto.sql
[root@hris ~]# psql -d TesDatabase -f /usr/share/pgsql/pgcrypto.sql - Selesai.
Silakan ditest pada psql dengan menggunakan perintah:
database=# select encode(digest('sukses', 'sha1'), 'hex');
encode
------------------------------------------
71c4def8a402e1053c61dc532420b18ef0679f52
(1 row)
Semoga bermanfaat.
sumber:
http://www.centos.org/modules/newbb/viewtopic.php?topic_id=15330
README.pgcrypto