微软账号临时密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微软账号临时密码相关的知识,希望对你有一定的参考价值。

参考技术A mysql安装完以后。打开微软官方网站的登录界面,输入用户名,当你的mysql安装完以后,临时密码是会出现的。微软是一家美国跨国科技企业,1975年4月4日创立,2021财年微软营收为1681亿美元,净利润为613亿美元,公司总部设立在华盛顿州雷德蒙德,以研发、制造、授权和提供广泛的电脑软件服务业务为主。

将明文密码*临时*存储在 MySQL 中是不是安全?

【中文标题】将明文密码*临时*存储在 MySQL 中是不是安全?【英文标题】:Is it safe to store plaintext passwords in MySQL *temporarily*?将明文密码*临时*存储在 MySQL 中是否安全? 【发布时间】:2012-11-09 06:47:30 【问题描述】:

一点背景——

我运行一个在 Java 中运行的游戏服务器,以及一个在 PHP (phpbb) 中运行的论坛。我把游戏和论坛账号绑定了,所以在游戏中修改密码会自动修改论坛账号的密码。两个系统使用不同的密码散列算法,我需要使用phpbb的内置函数更新论坛端的密码散列,这意味着我必须从PHP脚本调用它们(而不是运行我自己的代码)。

为了做到这一点,我决定让 Java 通过在需要更改密码时向 PHP 脚本发出 HTTP 请求来调用 PHP 脚本,以触发 PHP 脚本来完成论坛的密码更改过程帐户。但是,我不想将明文密码放在任何 HTTP 调用中,因为它可能会出现在日志文件和其他可利用的区域中。我目前的想法是,Java端在修改密码时,将新的明文密码放入数据库表中,然后发出HTTP请求以触发PHP脚本,这样HTTP请求中就不会出现散列或敏感信息。 HTTP 调用只会传递要更改的帐户的用户名,以及共享密钥的 md5 哈希加上用户名,以进行身份​​验证。 PHP脚本运行时,从数据库中检索用户新的明文密码,立即删除,然后通过phpbb的哈希算法运行明文密码并更新论坛数据库。

在典型情况下,明文密码在被删除之前可能会在数据库中保存不到一秒钟。理想情况下,我根本不会将它存储在任何地方,但是当我无法预测论坛的密码哈希将是什么时,我不确定如何将所需的更改从 Java 传递到 PHP,因此我需要以某种方式发送执行散列的 PHP 脚本的明文密码。

关于更好的方法的任何想法,或者是否有任何关于在很短的时间内存储明文密码的反馈?我认为 MySQL 登录是安全的,不会与其他人或项目共享。

谢谢!

【问题讨论】:

您能否在将其存储到数据库之前从 Java 对其进行加密,并在您从数据库中读取它之后立即从 PHP 对其进行解密? 加密是一个不错的主意,因为显然你已经有了一个共享的秘密。只通过 HTTPS 和 POST 将用户名和明文密码发送给 PHP 怎么样,比如表单数据? 更好的是,为 PHP BB wiki.phpbb.com/Authentication_plugins 创建一个自定义身份验证插件这支持自定义密码身份验证方案,如果适用,应该允许您利用单点登录。 让两个应用程序使用相同的散列算法不是更容易吗?管理起来会更容易,不会遇到这样的问题。 您可以更改您的 Java 游戏以使用与论坛相同的哈希算法... 【参考方案1】:

不要存储明文密码。 如果您的游戏变得流行,它可能会成为黑客不断攻击的目标 特别是如果它包含货币方面(即魔兽世界、travian 等)。 在这种情况下,您需要假设尽管您试图保护您的系统, 有人可能会破解它,从而获得敏感数据。 您应该使用标准加密机制来执行此任务(例如,以安全的方式通过 HTTPS 将密码发送到论坛系统)。 我还建议您探索@Joshua Kaiser 的评论 - 单点登录可能是满足您需求的关键, 不要试图在这里重新发明***。例如,我可以告诉你我使用 kerberos, Kerberos 有一个票证机制,票证可以在应用程序之间重复使用。不幸的是,我不了解 PHP,也不知道论坛框架如何可插入以使用不同的身份验证模块。

P.S - 我错误地发布了这个答案两次,并尝试按“删除帖子” - 我希望 stackoerflow 能解决这个问题。

【讨论】:

【参考方案2】:

加密是一种方式。

加密连接:HTTPS 的同义词。如果您的服务器支持,请使用 HTTPS 将数据传递给 phpbb。 加密数据:要么加密密码并以某种方式存储密钥(非常不安全),要么使用非对称加密。请参阅my question 的答案,深入了解如何通过安全通道发送密码。

【讨论】:

对于我的特殊情况,这种方法效果最好,因为它需要的工作量最少。我正在使用我现有的 PHP 脚本并通过 HTTPS 使用它,并通过加密连接传递需要散列的密码。【参考方案3】:

这取决于您使用 Java 而非 PHP 使用的数据库。在 PHP 中使用 PDO 连接到不同的数据库并操作数据。您可以尝试简单地将一个数据库作为主密码存储,另一个作为辅助 - 取决于您的反向加密。

让 PHP(例如)将文本密码直接 PDO 到临时字段中的 Java 数据库中 - 当然是特定于用户的 - 然后告诉 PHP 触发 Java 函数来读取该列,对其进行哈希处理,更新正确的列并删除临时字段。

如果处理得当,您可以将漏洞的时间范围限制在几毫秒。

【讨论】:

以上是关于微软账号临时密码的主要内容,如果未能解决你的问题,请参考以下文章

win10密码无法修改。

怎么注册国外微软账号

win10共享文件,映射网络驱动器的凭据账号密码如何设置

如何让你的微软账号更加安全?

如何登陆微软账号

Securecrt记住账号和密码