我深化發展一個web應用程序,我需要加密的JavaScript字符串從服務器(.NET C#)已加密的字符串比較。加密字符串來得到相同的結果
我需要通過這種方式來做到這一點,comprar與客戶端的JavaScript加密的字符串。
我怎麼能以同樣的方式進行加密在客戶端和服務器的串並獲得相同的encripted字符串?
我深化發展一個web應用程序,我需要加密的JavaScript字符串從服務器(.NET C#)已加密的字符串比較。加密字符串來得到相同的結果
我需要通過這種方式來做到這一點,comprar與客戶端的JavaScript加密的字符串。
我怎麼能以同樣的方式進行加密在客戶端和服務器的串並獲得相同的encripted字符串?
第一件事情,因爲客戶端JavaScript需要訪問加密功能,但不,據推測,解密功能(否則爲什麼加密?),你需要使用非對稱加密算法。像RSA一樣。或者,您可以使用加密哈希,這是一種單向函數。如果你給了我們關於你想要實現的內容的一些上下文,可能會有所幫助,但是從目前的描述來看,我建議你尋找哈希算法的實現,如JavaScript中的SHA-2家族之一 - System.Cryptography命名空間C#已經有了。
如果你正在實施某種形式的安全客戶端的,要小心。如果你是,例如,嘗試比較與服務器上的內容,密碼哈希,你讓在客戶端的比較,惡意用戶可以簡單地附加一個調試器,並繞過你的邏輯....
我將使用Ajax並從服務器端使用RSA encrpytion,這樣您就可以使用相同的代碼。
但是,如果你想真正的JavaScript RSA encrpytion你可以使用這個庫:
Cryptico.js
和服務器端的C#代碼,你可以看看這個網站:
C# RSA Example
非常感謝。 我使用SHA2解決了我的問題。我使用[clsCrypto](http://dotnetrush.blogspot.com.br/2007/04/c-sha-2-cryptography-sha-256-sha-384.html) 對於我使用的JavaScript [jsSHA2](http://anmar.eu.org/projects/jssha2/) – Callebe
加密是不冪等。你可能需要一個散列。 – SLaks
哈希是不冪等: -/ – Rawling