加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用PostgreSQL加密密码?

发布时间:2020-12-13 16:16:17 所属栏目:百科 来源:网络整理
导读:我对编码密码有一些问题,我该怎么办呢.编码类型md5 digest(data text,type text) returns bytea;CREATE OR REPLACE FUNCTION md(bytea) returns text AS $$ SELECT encode(digest($1,'sha1'),'md5')$$LANGUAGE SQL STRICT IMMUTABLE;INSERT INTO "login"(log
我对编码密码有一些问题,我该怎么办呢.编码类型md5
digest(data text,type text) returns bytea;
CREATE OR REPLACE FUNCTION md(bytea) returns text AS $$
    SELECT encode(digest($1,'sha1'),'md5')
$$LANGUAGE SQL STRICT IMMUTABLE;

INSERT INTO "login"(login,password,employee_id)
VALUES ( 'email',crypt('password',md('md5')),1);

***错误***

ERROR: syntax error at or near "digest"
SQL state: 42601
Character: 1
摘要(数据文本,类型文本)返回bytea;是无效的语法.

我推荐使用bcrypt.无需其他功能定义:

INSERT into "login" (login,employee_id) 
     VALUES ('email',gen_salt('bf'));

后来…

UPDATE table SET password = crypt('password',gen_salt('bf'))

并检查密码:

SELECT ... FROM table 
    WHERE password is NOT NULL 
      AND password = crypt('password-to-test',password);

Crafted Software和Jeff Atwood推荐Bcrypt.official pgcrypto docs也可能是有意义的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读