Tag: 密码

保持密码可configuration的最佳方式是什么?不要让读者随便使用这些密码?

我有一个数据库,许多不同的客户端应用程序(一些Web服务,一些Java应用程序和几个networking应用程序)连接到。 并不是所有这些都在Windows上运行(可惜的是,否则这将使这只是一个简单的答案问题,只是启用数据库连接的Windows身份validation)。 目前,密码存储在系统周围的各种configuration/属性文件中。 理想情况下,只有支持人员才能访问正在运行文件的服务器,但是如果其他人可以访问其中一台服务器,则他们将拥有足够的数据库权限,以便按照现在的情况获得相当数量的数据。 我的问题是,保持密码可configuration的最好方法是什么? 编辑为了澄清,DB服务器是Windows Server 2003,运行MSSQL 2005。 PS:我没有看到这个重复的任何问题,但如果有的话,请随时closures这个问题。

什么是随机数生成最安全的种子?

什么是种子随机数发生器的最安全的熵源? 这个问题是独立于语言和平台的,适用于networking上的任何机器。 理想情况下,我正在寻找在托pipe公司提供的云环境或服务器中的机器可用的来源。 要牢记两个重要的弱点。 使用时间发送随机数字发生器违反了CWE-337 。 使用小的种子空间将违反CWE-339 。

yii CPasswordHelper:hashPassword和verifyPassword

我想我在这里错过了一些关键的东西。 在CPasswordHelper::hashPassword函数中,我们有行: $salt=self::generateSalt($cost); $hash=crypt($password,$salt); return $hash; 在CPasswordHelper::verifyPassword有这样一行: $test=crypt($password,$hash); return self::same($test, $hash); 那盐呢? 就我的理解,它甚至不存在,但它没有任何意义,所以我猜我完全不了解它。

如何通过ajaxvalidation两个密码字段?

我试图用JSFvalidation两个密码字段,但直到现在没有好的,我在谷歌上search它,但一切都是关于JSF 1.2和相当混乱,我使用JSF 2.0。 这是我到目前为止所做的: <h:outputLabel for="password" value="Password:" /> <h:inputSecret id="password" value="#{register.user.password}" > <f:ajax event="blur" listener="#{register.validatePassword}" render="m_password" /> </h:inputSecret> <rich:message id="m_password" for="password"/> <h:outputLabel for="password_2" value="Password (again):" /> <h:inputSecret id="password_2" value="#{register.user.password_2}" > <f:ajax event="blur" listener="#{register.validatePassword}" /> </h:inputSecret> 这就是我的控制器: public void validatePassword() { FacesMessage message; if (!user.getPassword().equals(user.getPassword_2()) ){ message = new FacesMessage(FacesMessage.SEVERITY_ERROR, null, "different password"); }else{ message = […]

有可能获得相同的SHA1哈希?

给定两个不同的stringS1和S2(S1!= S2)有可能: SHA1(S1) == SHA1(S2) 是真的? 如果是 – 以什么概率? 如果不是 – 为什么不呢? inputstring的长度是否有上限,获得重复的概率是0? OR是SHA1的计算(因此重复的概率)独立于string的长度? 我试图实现的目标是哈希一些敏感的IDstring(可能与父ID一样的其他字段连接在一起),以便我可以使用哈希值作为一个ID(例如在数据库中)。 例: Resource ID: X123 Parent ID: P123 我不想公开我的资源标识的性质,让客户端看到“X123-P123”。 相反,我想创build一个新的列哈希(“X123-P123”),假设它是AAAZZZ。 然后客户端可以请求具有AAAZZZ的资源,而不知道我的内部ID等。

MySQL用户数据库没有密码栏 – 在OSX上安装MySQL

我正在尝试更改MySql root密码。 我所做的是以下。 安装MySql-5.7.6〜.dmg(社区服务器)和工作台。 closuresOSX系统首选项上的服务器。 通过控制台访问MySql。 命令是mysqld_safe –skip-grant 执行update user set password=password('1111') where user='root'; 并收到错误消息 – > ERROR 1054 (42S22): Unknown column 'password' in 'field list' 。 仅供参考,我确实use mysql; 。 所以我没有select查询用户表,发现密码列实际上不存在。 这很奇怪。 原始用户表可能没有密码列吗? 我怎样才能更改密码,这不存在? 感谢您的回答:D

最佳做法:腌制和胡椒粉密码?

我遇到了一个讨论,在这个讨论中,我了解到我所做的事情实际上并不是叮叮当当的密码,而是从此开始使用以下function: hash_function($salt.hash_function($pepper.$password)) [multiple iterations] 忽略select的散列algorithm(我希望这是一个盐和辣椒的讨论,而不是具体的algorithm,但我使用的是一个安全的),这是一个安全的select,还是应该做一些不同的? 对于那些不熟悉的条款: salt是随机生成的值,通常与数据库中的string一起存储,旨在使不可能使用散列表来破解密码。 由于每个密码都有自己的盐,所以他们都必须单独被强制性的破解。 然而,由于盐与密码散列存储在数据库中,数据库的妥协意味着两者都将丢失。 胡椒是一个站点范围的静态值,与数据库分开存储(通常在应用程序的源代码中硬编码),这是为了保密。 它的使用是为了妥协的数据库不会导致整个应用程序的密码表是暴躁的。 有什么我失踪,并腌制和胡椒我的密码保护我的用户的安全的最佳select? 这样做有没有潜在的安全缺陷? 注意:为了讨论的目的,假定应用程序和数据库存储在不同的机器上,不要共享密码等,因此违反数据库服务器并不意味着违反应用程序服务器。

如何提供密码给在bash中提示一个的命令?

我在写一个UNIX shell函数,它将执行一个命令,提示用户input密码。 我想将密码硬编码到脚本中并提供给命令。 我已经尝试将密码input到命令中,如下所示: function() { echo "password" | command } 这可能不适用于某些命令,因为在提示input密码之前,命令可能会刷新input缓冲区。 我也试着将标准inputredirect到一个包含这样的密码的文件,但是这也不起作用: function() { echo "password" > pass.tmp command < pass.tmp rm pass.tmp } 我知道有些命令允许将密码作为参数提供,但我宁愿通过标准input。 我正在寻找一个快速和肮脏的方式在bash中input密码到一个命令。

忘记密码:实现忘记密码function的最佳方法是什么?

我想知道什么是最好的方法是在网站上创build一个忘记密码function。 我在那里看过不less,这里有几个或者组合: 密码问题/答案(1或更多) 用新密码发送电子邮件 在屏幕上给新的密码 通过电子邮件确认:必须点击链接获取新密码 页面要求用户input一个新的密码 什么组合或额外的步骤,你会添加到忘记密码function? 我想知道他们如何请求新的密码,以及他们如何最终得到它。 我正在操作的密码无法检索的原则; 必须给出/生成一个新的密码。 编辑我喜欢科里说,如果用户名不存在显示,但我想知道显示什么,而不是。 我想一半的问题是,用户忘记了他们使用哪个电子邮件地址,显示某种“不存在”消息是有用的。 任何解决scheme

如何删除SSH密钥的密码而不必创build新密钥?

在我的笔记本电脑上创build一个新的SSH密钥时,我设置了密码。 但是,现在我意识到,当你试图在一个小时内通过SSH多次提交( Git和SVN )到远程位置时,这是非常痛苦的。 我能想到的一个方法是,删除我的SSH密钥并创build新的。 有没有办法删除密码,同时仍然保持相同的密钥?