2016-06-21 23 views
-5

私のシステムでは、ページアドレスとパラメータをエンドユーザーに表示しないようにします。暗号化/復号化機能

なぜですか?私は自分のページの名前と渡された変数を必要としないからです。

私は実際にはmd5またはsha1が好きです。暗号化された文字列のサイズがそれほど長くないためです。しかしそれは唯一の方法です。バックエンドの文字列を解読してページ、変数などを知ることができません。

URLが長くなるため、this type of solutionは使用しません。

他に解決策はありますか?

ありがとうございました。

+1

これらはハッシュ関数であり、暗号化ではありません。違いは可逆性です。しかし、変数とすべてが難読化されていれば、ブラウザ内のどこかでクリアテキストでなければならないので、実際には何のポイントもありません。そうでなければ、静的なランダムな不器用さをURLとして置くことができ、それはそのトリックを行います。 –

+1

ブラウザにページアドレスが必要なので、ドメインを隠すことはありません。 –

+0

domain.com/43kj34k5g34nb34mb5m435v – PacPac

答えて

-5

(より正確な用語は難読化だろうが)あなたはタイプの短い弦の双方向「暗号化」のいずれかを試みることができる:

いくつかの例:

Base64Encode /デコードを(これが含まれていることに注意してくださいそれよりURLフレンドリーにするために例の文字の一部フィルタリング):

function urlbase64encode($plainText){ 
    return strtr(base64_encode($plainText), '+/=', '-_,'); 
} 

function urlbase64decode($b64Text){ 
    return base64_decode(strtr($b64Text, '-_,', '+/=')); 
} 

BIN2HEX/HEX2BIN:

bin2hex($plainText); 

hex2bin($hexText); 

これらの方法のいずれかを使用すると、ページURLを暗号化されたリンク(例:domain.com/62616e616e61)として定義することができます。バックエンドでは、データを難読化してデベロッパーとして役立ちます。