存储可恢复的认证数据
Storing revertable authentication data
有时会想到一些愚蠢的事情,但我想知道您是否可以就这种情况分享一些见解。
假设我想创建一种能够连接到远程服务器的服务(通过 FTP 或其他方式)。如果有人要为该服务创建一个帐户,他们将需要存储他们的登录凭据。自然地,您希望安全地保存数据,并且存在许多关于密码散列的主题。但是,如果您以后需要使用该密码怎么办?在这种情况下;连接到远程主机。
一个真实的例子:我正在使用 CodeAnywhere 的服务,以防我无法访问装有开发软件的计算机。这种情况也适用于那里。
然后连接从服务器 A 转到服务器 B。在服务器 A 上,使用服务器 B 管理内容(文件)。在服务器 B 上创建一个帐户以使用服务器 B 的服务,并建立到服务器的连接A,存储服务器A的授权数据。
人们是否正在创建自己的 "hashing" 规则,以便能够将 mypassword
之类的内容存储为 drowsappym
。在这个例子中,密码被恢复。但其他事情也会浮现在脑海中:为每个字符使用 unicode 点,或为每个字符创建一个映射模式(例如 a=i,b=Q,c=*, and so on..
)。当然,您不想只保护密码,而是保护所有授权数据。
期待回复。
我想解释一下我会使用的两种方式。
- 使用mcrypt_encrypt to store encrypt the password and later use mcrypt_decrypt获取明文密码
- 如果您正在使用 MySQL,那么您还应该看看 DES_ENCRYPT
我猜这些是最快的方法,它们还提供了相当不错的安全性,当然,如果有人破坏了您的系统,那可能是个问题,但如果您使用 RSA 使用起来也更复杂。
有时会想到一些愚蠢的事情,但我想知道您是否可以就这种情况分享一些见解。
假设我想创建一种能够连接到远程服务器的服务(通过 FTP 或其他方式)。如果有人要为该服务创建一个帐户,他们将需要存储他们的登录凭据。自然地,您希望安全地保存数据,并且存在许多关于密码散列的主题。但是,如果您以后需要使用该密码怎么办?在这种情况下;连接到远程主机。
一个真实的例子:我正在使用 CodeAnywhere 的服务,以防我无法访问装有开发软件的计算机。这种情况也适用于那里。
然后连接从服务器 A 转到服务器 B。在服务器 A 上,使用服务器 B 管理内容(文件)。在服务器 B 上创建一个帐户以使用服务器 B 的服务,并建立到服务器的连接A,存储服务器A的授权数据。
人们是否正在创建自己的 "hashing" 规则,以便能够将 mypassword
之类的内容存储为 drowsappym
。在这个例子中,密码被恢复。但其他事情也会浮现在脑海中:为每个字符使用 unicode 点,或为每个字符创建一个映射模式(例如 a=i,b=Q,c=*, and so on..
)。当然,您不想只保护密码,而是保护所有授权数据。
期待回复。
我想解释一下我会使用的两种方式。
- 使用mcrypt_encrypt to store encrypt the password and later use mcrypt_decrypt获取明文密码
- 如果您正在使用 MySQL,那么您还应该看看 DES_ENCRYPT
我猜这些是最快的方法,它们还提供了相当不错的安全性,当然,如果有人破坏了您的系统,那可能是个问题,但如果您使用 RSA 使用起来也更复杂。