config/app.php 설정 파일의 key 옵션을 지정해야 함
php artisan key:generate 명령어를 사용하여 키를 생성.
$val = '123456789';
$val_en = encrypt($val);
$val_de = decrypt($val_en);
echo $val."<br>".$val_en."<br>".$val_de;
또는
use Illuminate\Support\Facades\Crypt;
...
$encrypted_hp = Crypt::encryptString($hp);
//$decrypted = Crypt::decryptString($encrypted);
DB::table('TB_Inbounds')->insert(
[
'u_name' => '고객명',
'u_hp' => $encrypted_hp,
'u_created_at' => date("Y-m-d H:i:s"),
]
);
...
$users = DB::table('TB_Member')
->where('u_hp', $encrypted_hp)->first();
if($users){
echo $users->u_name;
echo Crypt::decryptString($users->u_hp);
}
이 암호화 값은 복호화가 되지만 값 자체는 매번 바껴서 DB에 저장하고 검색등에 사용할 수 없음
비밀번호 비교
// See the password_hash() example to see where this came from.
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
$sql_script = 'select * from USERS where username="'.$username.'"';
전화번호등 검색에 필요할 필드일 경우 따로 Class를 만들어서 암호화 하면됨
app/Helper/Encrypt.php
namespace App\Helper;
class Encrypt
{
public $key = "431007e1a4b4690ad0bbd65a37230";
private $keyhash;
public function __construct(){
$this->keyhash = substr(hash('sha256', $this->key, true), 0, 32);
//Initial Vector(IV)는 128 bit(16 byte)
$this->iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);
}
public function get_aes_encoding($str=''){
$rtn='';
if($str) $rtn = base64_encode(openssl_encrypt($str, 'aes-256-cbc', $this->keyhash, OPENSSL_RAW_DATA, $this->iv));
return $rtn;
}
public function get_aes_decoding($str=''){
$rtn='';
if($str) $rtn = openssl_decrypt(base64_decode($str), 'aes-256-cbc', $this->keyhash, OPENSSL_RAW_DATA, $this->iv);
return $rtn;
}
}
$encrypt = new Encrypt();
$encrypt_hp = $encrypt->get_aes_encoding($hp);
$users = DB::table('TB_Inbounds')
->where('u_hp', $encrypt_hp)
->first();
if($users) echo $encrypt->get_aes_decoding($users->u_hp);
'[ Web 관련 ] > Laravel' 카테고리의 다른 글
Laravel 로그 남기기 (0) | 2021.06.23 |
---|---|
Form Data 유효성 검사 (0) | 2021.06.22 |
블레이드 사용 관련 (blade 안에서 변수 사용 등) (0) | 2021.06.16 |
라라벨 sql 출력 (0) | 2021.05.26 |
윈도우 10 라라벨 8 설치 (0) | 2021.04.30 |