如何在Mysql查询中通过PHP对加密数据进行排序
Posted
技术标签:
【中文标题】如何在Mysql查询中通过PHP对加密数据进行排序【英文标题】:How to sort encrypted data by PHP in Mysql query 【发布时间】:2021-11-24 14:12:25 【问题描述】:我已经使用 php (Laravel) 加密字符串将信息存储在 mysql 表中,现在我可以如何使用 Laravel 中的 MySQL 查询对其进行排序。
例如。名字用 PHP 加密字符串存储在数据库中,现在我在获取记录数时对数据库中的名字进行排序。
【问题讨论】:
欢迎来到 ***!这不是免费的编码服务。您应该尽最大努力解决问题,然后分享您的代码,以便我们为您提供帮助。请edit your question 包含您的代码。另见How do I ask a good question?。 MySQL 实现是否也存在加密算法?如果是,那么您可以也在从数据库获取之前解密和排序。 【参考方案1】:使用eloquent's accessor 功能。
例子:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Crypt;
class User extends Model
/**
* Get the user's first name.
*
* @param string $value
* @return string
*/
public function getFirstNameAttribute($value)
return Crypt::decryptString($value);
然后您可以使用collection's sorting 轻松排序。
例子:
User::all()->sortBy('first_name');
【讨论】:
以上是关于如何在Mysql查询中通过PHP对加密数据进行排序的主要内容,如果未能解决你的问题,请参考以下文章
如何在熊猫/python中的行标题中通过部分搜索对数据集进行排序
如何在 Android 中通过 Firebase Childs 按升序对列表进行排序
如何在 php 中对以下数组/stdclass 对象进行排序? [复制]