2016-07-20 28 views
-1

パラメータの暗号化を使用しているときに問題が発生しています。MVC 6暗号化URLパラメータのポストが実際の値を取得しない

私が電話すると。
http://localhost:51836/en-US/Vehicles/Edit/s5XHf7R6YtM=
復号後に正しいidの値を渡します。

私は実際のIDを隠しフィールドに格納しています。 私が使用するとき

復号化された値ではなくecrypted値を格納します。

と私はシンプル
<input asp-for="ID" type="hidden" value = '@Model.ID' />
それが保存された復号化された値を使用しています。

私はデータを保存しようとすると、私は値を復号化する必要がありますが、私は0を示しています。なぜこれが起こっているのか分からない。これは、IDと同じ名前のIDと、propertyNameのためですか?

あなたはすべてのソリューションを持っているなら、私に知らせてください、

おかげで サミール

+0

おそらく、暗号化ではなく、Base64エンコーディングを指していると思います。パラメータが「暗号化」され、「復号化される」と正確には何か、質問をより明確に更新します。 – zaph

+0

はいBase64エンコーディングを使用しています –

+0

Base64は暗号化ではなくエンコーディングです。正しいタイトルと質問が回答を得るのに役立ちます。それは混乱していないので。 "暗号化"を "Base64エンコーディング"に変更します。 – zaph

答えて

0

Base64エンコーディングはBase64エンコーディングはURLをエスケープする必要がありますので、URLの一部に使用することができない3つの文字が含まれています。

厄介な文字は、 '/'、 '+'、 '='です。

エンコードされた値にこれらの文字が含まれていないURLの一部にこれらの文字が含まれていない場合は、URLが機能します。そうでない場合は失敗します。このため、一部の値では動作し、他の値では失敗します。

Base64を参照してください。

関連する問題