ライセンスキーのアルゴリズム

 
変換テーブルを作ってみる 

ライセンスキー(プロダクトキー)のアルゴリズムを考えてみました。

絶対に被らず、1文字でも間違えたらエラーになるコードの生成。生成されたコードから検証用の文字列へ完全な逆変換が可能。

色々考えてみましたが、生成した時点での日時から文字列を生成し、逆変換してきちんとした日時の文字列に戻せるのが実用的だと思いました。

しかもパターンが推測不可能な様にランダムでいくつかのテーブルを参照する。たとえば

2024/07/02 15:08:31 → CRPM-USU3-V52Y-XB2G デコードすると 2024/07/02 15:08:31 へ戻る。ライセンスキーらしいコードが生成され、ちゃんと日付に戻せました。

よし、これでいくか。