JavaScriptにおける暗号化・ハッシュ処理の実装パターンとサンプル
概要
Webアプリケーション開発でよく使われるJavaScriptによるデータ保護手法を整理し、即座に使えるコード例を提供します。単なるエンコードから本格的な暗号化まで、目的に応じた選択が可能です。
1. 対称鍵暗号
Base64は厳密には暗号化ではなく、バイナリデータのテキスト表現です。一方、AESは強力な対称鍵暗号として広く利用されています。
<html>
<body&g ...
5月30日 20:27 投稿
Webスクレイピングにおける逆方向解析と暗号化技術
Webスクレイピングの高度化手法と暗号化・復号化の実装
法令文書サイトの解析
navigator = {};
window = global;
Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
" ...
5月27日 07:04 投稿
AES暗号化で結果が異なる場合の対処方法
AES暗号化処理において、同一データを暗号化しても出力結果が毎回異なるという問題が発生することがあります。
Python実装例
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import base64
def perform_aes_encryption(message, encryption_key):
# AES ECBモードによる暗号化オブジェクト生成
crypto_handler = AES.new(encryption_key, ...
5月19日 16:00 投稿
WebアプリケーションにおけるAES対称暗号化とMD5ハッシュの実践ガイド
Webサービスで機密データを守るためには、適切な暗号技術を選び、正しく実装することが不可欠である。本稿では、ブラウザ⇄サーバー間でよく使われる「AESによる可逆暗号化」と「MD5による不可逆ハッシュ」の使い分けと実装例を示す。
1. AES 共通鍵暗号のフロー実装
フロントエンドでパスワードを暗号化し、バックエンドで復号する典型的な手順は次の通り。
1.1 クライア ...
5月17日 03:08 投稿
欧州eパスポートの機械読取領域に埋め込まれたAES鍵の導出と復号
1. 提示された鍵候補の完成
問題に添付されたドキュメントを参照し、チェックディジットの計算方式を確認する。その仕様に従い、初期鍵の "?" に相当する値を求めることができる。
def calc_checksum(data):
data = list(data)
factors = [7, 3, 1, 7, 3, 1]
total = 0
for idx in range(21, 27):
total += int(data[idx]) * factors[idx - 21]
...
5月9日 14:33 投稿