首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安全地存储各种凭据?

如何安全地存储各种凭据?
EN

Stack Overflow用户
提问于 2018-03-21 20:50:09
回答 1查看 42关注 0票数 1

背景:I正在开发一个应用程序(用于一个学校项目),该应用程序本质上将成为一个网络资产管理和补救工具。它将扫描网络上的设备,收集有关它们的信息,并做一些与问题无关的事情。它的一个特性是允许用户为各种网络设备提供登录凭据,这样应用程序就可以登录到这些设备,这样它就可以收集更多的信息,然后允许进行更改。

我的问题:如何能够安全地存储所提供的凭据。目前,后端将由一个PostgreSQL数据库(它将包含扫描数据)组成,但我不确定是否安全地将它们存储在那里,或者我应该如何处理安全地存储它们的问题,以便以后可以使用它们。

请让我知道,如果你需要任何额外的信息,我是新的使用堆栈溢出,所以我不确定我是否提供了足够的细节。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-22 09:13:18

https://www.postgresql.org/docs/current/static/pgcrypto.html文档是相当具体的例子。每db创建一次扩展:

代码语言:javascript
复制
t=# create extension pgcrypto;
CREATE EXTENSION

假设密码是Ирландия,然后使用随机盐:

代码语言:javascript
复制
t=# select crypt('Ирландия', gen_salt('md5'));
               crypt
------------------------------------
 $1$gMymr.0W$axxTHvfmsNRDkepNAMNsT1
(1 row)

或者:

代码语言:javascript
复制
t=# select crypt('Ирландия', gen_salt('md5'));
               crypt
------------------------------------
 $1$wjJDa4Np$M7XqQIrgnfpAf.CLtrpkv1
(1 row)

每次结果不同,所以取其中的任何一个来检查密码是否正确,例如:

代码语言:javascript
复制
t=# select crypt('Ирландия', '$1$gMymr.0W$axxTHvfmsNRDkepNAMNsT1') = '$1$gMymr.0W$axxTHvfmsNRDkepNAMNsT1' as match;
 match
-------
 t
(1 row)

而且错了:

代码语言:javascript
复制
t=# select crypt('ИрландияNOT', '$1$gMymr.0W$axxTHvfmsNRDkepNAMNsT1') = '$1$gMymr.0W$axxTHvfmsNRDkepNAMNsT1' as match;
 match
-------
 f
(1 row)

上述函数的参数载于F.26.2节。密码散列函数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49416257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档