シリアル番号の形式:
- 24の16進文字で表される24のオクテットと読みやすさのためのハイフン
例:D429-A7C5-9C15-8516-D15D-3A1C
- 0〜15:{メール+マスターハッシュ}
- 16-19:{id}
- 20〜23:{タイムスタンプ}
メール+マスターハッシュアルゴリズム:
- ユーザーの電子メールのmd5ハッシュを生成します(32バイト)
- 公開されていないマスターキーのmd5ハッシュを生成します
- xorこれらの2つのハッシュ
- 奇数バイトを削除し、サイズを16に減らします
- 例:D429A7C59C158516D15D3A1CB00488ED-> D2AC9181D531B08E
id:
- 最初は0x00000000で、その後、販売されたライセンスごとに増分されます
タイムスタンプ:
- ライセンス購入時に生成されるタイムスタンプ
検証:
- 製品を登録するには、ユーザーは1)メールアドレスと2)シリアル番号を入力する必要があります
- email + masterハッシュを生成し、シリアルの0〜15と一致することを確認します
- シリアルからタイムスタンプを抽出し、それが<現在のタイムスタンプであり>=最初のライセンスが販売された日付であることを確認します