0

MVC3 WebAPI のデータを暗号化および復号化する方法を見つけようとしています。状況は次のとおりです。ユーザー登録があり、ユーザーがプロジェクトを登録できるフィードバックアプリケーションを作成しています。プロジェクトはフィードバックの外部キーとして使用する必要があります (つまり、フィードバックは特定のプロジェクトに割り当てる必要があります)。問題は、プロジェクト ID (GUID になります) を暗号化し、サーバー側で復号化する方法です。MD5 + ソルトを使用する必要があります。塩は何を使えばいいですか?タイムスタンプかもしれませんが、このタイムスタンプをどのように渡す必要がありますか? うーん、どこから始めて何をすればいいのかわからない。どんな助けでも大歓迎です。注: API メソッドへのアクセスに認証は必要ありません。シークレット パラメーターを (キーとして) 渡す必要があります。

4

3 に答える 3

2

HTTPSだけが必要ですか?本文と HTTPS のパラメーター。なぜ車輪を再発明するのか?!

于 2012-10-20T17:11:28.393 に答える
0

認証を使用して Web API メソッドを呼び出さない場合は、共有シークレット パスワードを使用してデータを暗号化できます。AES使用できるデータを暗号化/復号化するために一般的に使用される対称鍵アルゴリズムです。これは、クライアントとサーバーが共通の秘密を共有する必要があることを前提としています。

MD5 はハッシュ (一方向) アルゴリズムです。これは暗号化アルゴリズムではありません。MD5 ハッシュの全体的な考え方は、元に戻すことができないということです。

于 2012-10-20T16:45:24.210 に答える
0

私はオープン ソース プロジェクトを作成し、ここに文書化しました: Build a RESTful API。おそらく、これは正しい方向にあなたを始めるでしょう.

このソリューションでは、 API IDAPI シークレット、および UNIX タイム スタンプのMD5ハッシュを使用し、HTTP ヘッダーで渡します。@Darin Dimitrovが述べたように、MD5 は一方向ハッシュですが、ハッシュとブルート フォース テクニックに関する知識があれば元に戻すことができます。AESなどのより良いオプションがありますが、これは簡単で、開始するのに適した方法です。実際、この認証方法は、Mashery の Authenticationで使用されているものと同じです。


RESTful API 参照を構築し、サポートする .NET EF データベースと共に Authメンバーシップ、およびAPI 使用状況測定を備えた API を作成するための本格的なスターター キットが含まれてい

サービスのテストに関しては、Curl を使用する代わりに、 RESTClientを使用してカスタム ヘッダーで HTTP 呼び出しを実行できます。

于 2013-12-19T02:48:47.260 に答える