我目前正在编写一个应用程序,它需要在数据库中存储加密的用户数据。其中一个要求是,存储在数据库中的一些数据需要加密,而我们(对表中的原始数据具有完全读取访问权限的数据库管理员)无法对其进行解密。显然,我们需要使用从用户提供的信息中派生出来的私钥来加密这些数据,而这些信息是我们无法看到的。我们将存储此对的公钥,并使用它加密需要添加到其帐户中的任何数据。
不幸的是,我不知道如何为用户获取私钥对。我们使用Google登录我们的应用程序,因此用户没有密码。我还可以使用哪些其他信息作为KDF的输入来为用户派生加密密钥?
以下是用户通过Google登录进行身份验证时收到的信息:
{
// These f
我必须将我的散列密码转换为字符串。
这是我的代码。
<?php namespace App\Http\Controllers;
use DB;
use Auth;
use Input;
use Session;
use Route;
use Crypt;
use Redirect;
use Illuminate\Http\Request;
use Illuminate\Http\Dispatcher;
$userdata = array(
'e
我正试图在我的Laravel应用程序中实现一个搜索模块,它可以按名字过滤用户。为了保护用户,对DB上的'name'列行进行了加密。我面临的问题是下面的查询总是返回0结果。
在搜索到DB之前,我正在加密搜索输入值。
$patients = DB::select( DB::raw("SELECT * FROM patient WHERE name LIKE '%".Crypt::encrypt($searchText)."%';"));
我在这里做错什么了?