【发布时间】:2018-09-24 23:13:38
【问题描述】:
我正在使用 laravel 构建一个基本的加密聊天应用程序。我正在尝试根据用户注册时生成的私钥对用户进行身份验证。
用户的公钥存储在数据库中。当用户想要登录时,需要上传给他们的私钥。我想比较数据库中的公钥和原始私钥中的公钥。
/**
* Validate user key file for login
*/
public function validateKey($attribute, $value, $parameters){
if (!($value instanceof UploadedFile)) return false;
// Get user to match key
$user = $this->data['username'];
// Get public key from file
$privateKey = File::get($value->getRealPath());
dd($privateKey);
}
我能够以字符串格式获取私钥。从这里我似乎无法生成或提取公钥以与数据库值进行比较。
【问题讨论】:
-
您只需要让用户上传他们的公钥并共享它们,这样他们就可以互相发送加密的消息,然后用他们的私钥解密......私钥永远是秘密的与任何人分享或在任何地方上传
标签: php laravel validation authentication openssl