スクリプトのお勉強 技術

言語別ログイン機能パスワード保存処理方針

投稿日:

ちょっと前に、ログイン機能を作成した際、パスワードを暗号化するか、という議論を目にしたことがありました。

昔だと、「パスワードを暗号化しない」方で実装していましたが、最近はセキュリティが当たり前になってきたので、それもどうかと思います。

なのであらかじめ、パスワードを保管する際に使用する暗号機能の方針ぐらいは調べておこうと思いました。

JavaScript

実際には難しそうなので、パスワード保管の要件を外します。いまのところJavaScript(クライアント側)で暗号化してパスワードを保管しておく安全な方法は難しいです。。

Perl

Digest::SHAを使用します。

  • 保管($digest): $digest = hmac_sha256_hex($password, $salt);
  • salt: 固定文字列
  • チェック: $passwordと$saltを入れて、保管した$digeestと一緒かチェック。
use Digest::SHA qw(hmac_sha256_hex);
my $data = "aaa";
my $key = "bb";
my $digest = hmac_sha256_hex($data, $key);

Python

import hashlib, uuid

salt = uuid.uuid4().hex
password = "aa"
hashed_password = hashlib.sha256(password + salt).hexdigest()

print (hashed_password)

ruby(rails)

bcryptを使います。すぐには分からなかったので割愛します。

PHP(7.0)

password_hashを使用します。

<?php

$input = "aaa";

$hash = password_hash($input, PASSWORD_DEFAULT);

print $hash;

if (password_verify($input, $hash)) {
            echo 'Password is valid!';
} else {
            echo 'Invalid password.';
}

-スクリプトのお勉強, 技術

執筆者:

関連記事

故障物(8インチタブレットからBMAX MaxPad l11に)

ついに故障 ついに8インチタブレットがほぼ故障しました。「ほぼ」というのは、バッテリーが使えずずっと電源線に繋げてないと使えないからです。 それではタブレットの意味がありません。 つぎは10インチタブ …

go 1.16 でviperを使って設定ファイルを読みだすプログラムを作ってみた

他にたくさんあるけど こんな感じの内容はたくさんあると思いますが、、goの初心者がなんとなくgoの手習いとして、まずは設定ファイルを読みだすことをしてみようと思いました。 go動作環境 windows …

Python3でsnmptrapの受送信をしてみる

はじめに 私はなんちゃってプログラマですが、なぜかいまどきsnmptrapの受信プログラムを作ることになりました。 なんだかなと思いますが、、まぁブログネタにいいかなと思い、手元でもやってみることにし …

JSON/YAMLファイル読み込み用ライブラリ比較(Python3)

はじめに Python3でプログラムを作る際、YAML/JSONを読みだす処理を多く作成します。そうすると、データが長く、そして複雑になる時があります。 ネストしてるデータを読みだすと以下のように a …

no image

GLP-1 メディカルダイエット 58日目

メディカルダイエットして58日目の記録をしておこうと思います。 9回目。 今回は左腹(中部)に打ちました。痛いのはいまだに慣れない。。 土曜にゲットしてした 渋谷に行ってきたが、そこの医院には相変わら …

google オプトアウト Click here to opt-out.