2010-12-28 4 views
0

私はこの質問のタイトルに何を入れるべきか分かりませんが、私はここで助けを求めています。アクティベーションコード

私はCORE JAVA Platformでデスクトップベースのアプリケーションを作成する会社で働いています。 当社は、ソフトウェアを有効にするための有効化コードを提供しています。 活性化の概念がある -

ユーザーは、アクティベーションコードを入力 - >ソフトウェアは、当社のサーバーにヒットし、すべての必要なファイルをダウンロードする - >アクティベーションが完了しました。

1日に1回、私たちのソフトウェアがサーバーにアクセスし、アクティベーションコードが期限切れになっているかどうかを確認します。

Problem- 我々は、通常のインターネット接続を持っていない新しいクライアントを持っています。 >ソフトウェアは、当社のサーバーにヒットし、すべての必要なファイルをダウンロードしてください - - >アクティベーションが完了しました。どういうわけか、彼らは1時間的

ユーザーは、アクティベーションコードを入力するためのインターネット接続を提供することに合意しました

ですが、その後はインターネットに接続できません。私は有効期限コードの有効期限についてサーバーと確認するソフトウェアを停止することができます。 私の問題は

1)どうしたらアクティベーションコードが実際に期限切れになったかどうかを確認できますか?

2)有効期限が切れた場合ユーザーが新しいアクティベーションコードを入力した場合、有効なアクティベーションコードが1年間有効であることを確認するにはどうすればよいですか?

答えて

1

1)登録日を保存し、システム日付と比較することができます。もちろん、ユーザーは日に日に気分を変えることができます。私は以前見た最後の日付を保存していたソフトウェアを持っていましたが、過去に日付を移動した場合、それは不平を言って、期限切れになりました。あなたはこのようなことをすることができますが、もちろんサーバと話すことほど安全ではありません。

2)新しいキーと前のキーを含むアクティベーションキーのフォーマットを作成します。最初のキーは、Aと言います。これはサーバーと通信し、Aが大丈夫かどうかを確認するのに適しています。新しいキーはABのように見えるかもしれません。「Aを置き換え、もう1年のアクティベーションを追加してBと呼ばれるので、1年後にBCのようなキーが必要になります。これを安全にエンコードする方法について少しは考える必要がありますが、私はそれがうまくいくと確信しています(たとえば、AでBを暗号化し、BをアクティベーションコードAのマシンでのみ使用できます)。

関連する問題