認証プログラムのつづき
まいこです。
昨日から取り組んでいる認証処理の実装ですが、さすがに固定データでのXORはまずかろうということで、以下の様な方法を考えました。
あんまり変わってないんだけどね。
- 本体のシリアルナンバーを抽出。
- シリアルナンバーの各バイト(桁)ごとに対応するランダム数値を生成。
- シリアルナンバー文字列の各バイトを対応するランダム数値(2で生成したもの)でXOR。
- 各ランダム数値を固定数値でXOR。
- XOR後のランダム数値のデータとシリアルナンバーをファイルに出力。
復号化も簡単だし、これならコードを生成するたびに中身が変わるわけだから大丈夫でしょう。
実装。
昨日作ったプログラムに追加するだけだったので、そんなに時間はかかりませんでした。
一応、認証プログラムのバージョン情報も入れておいた方が良いだろうということで、認証コードの前に4バイト分バージョン情報を入れることにしました。
ひとまず認証システムはできあがったんですが……。
やっぱり固体を特定するための元データが公開されているってのは問題だよなあ。
表に見えないデータで固体の特定できないものかなあ。
と言うところで、今日はこの辺で。