❶ js裡面我使用encodeURI加密json字元串傳遞到另一個頁面,為什麼另一個頁面地址顯示參數只加密了一點
數據量大的話,轉義後字元串會很長。
瀏覽器對 url 的長度有限制。
服務端也有對應設置影響接收的 url 長度。
從這幾點排查一下看看。
❷ 用JS方法加密URL
首先,很不推薦你使用get方式發送密碼,最好是使用post.
原因是,你通過一個連接把用戶名和密碼發送到後台,即便密碼不是明文,別人獲取不到密碼明文,但是,只要你這個連接成功登陸過,別人就可以拿這個連接到處登陸.密碼明文加密完全形同虛設.
如果非想使用get方式發送,我可以給你個思路,就是表單附帶發送令牌,這個令牌是表單內的隱藏域,後台里對每一個時刻都不同的字元串做單向加密然後保存SESSION會話,一般使用md5方式,然後表單頁面隱藏域寫出該SESSION的值.發送表單的時候,附帶令牌一起發送,(在url形式中就是多了一個參數),後台驗證令牌是否是保存過的SESSION值,如果是,執行登陸,如果不是,就報錯.
不管令牌是不是正確的,你都需要在每次生成頁面時重新更新一次令牌並輸出,這樣才能保證唯一性.
然後你可以使用js版的md5把密碼處理成加密字元串.
這樣可以躲過部分不熟悉html的,但是如果他懂html,只需查看html的令牌,然後自己去組成url,那麼照樣還是不行.
所以,這種形式仍是不可取的,正宗的方式就是post發送用戶名和密碼,或是ajax的get方式發送.
❸ javascript怎樣利用C#生成的RSA公鑰對字元串加密
js對公鑰串進行加密的寫法:
依兄塵賴:頌亮RSA.js BigInt.js 和Barrett.js
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>login</title>
<meta http-equiv="pragma" content="no-cache">
<script type="text/javascript" src="js/RSA.js"></script>
<script type="text/javascript" src="js/BigInt.js"></script>
<script type="text/javascript" src="js/Barrett.js"></script>
<script type="text/javascript">
function rsalogin()
{
bodyRSA();
var result = encryptedString(key, document.getElementById("pwd"羨櫻禪).value);
//alert(result);
loginForm.action="login.do?result="+result;
loginForm.submit();
}
var key ;
function bodyRSA()
{
setMaxDigits(130);
key = new RSAKeyPair("10001","","");
}
</script>
❹ 前端js 加密解密方式
一、base64加密
使用JS函數的window.btoa()和 window.atob(),分別是中臘編碼和解碼
二、編碼和解碼字元串
使用JS函巧羨數賣寬滑的escape()和unescape(),分別是編碼和解碼
三、AES加密解密
四、RSA加密解密
❺ js如何加密加密完之後如何使用
使用內置的三個函數就行,分別是escape(),encodeURI(),以及encodeURIComponent()。
escape() 方法:
採用ISO Latin字元集對指定的字元串進行編碼。所有的空格符、標點符號、特殊字元以及其他非ASCII字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字元集表裡面的編碼的16進制數字)。比如,空格符對應的編碼是%20。
不會被此方法編碼的字元: @ * / +
encodeURI() 方法:
把URI字元串採用UTF-8編碼格式轉化成escape格式的字元串。
不會被此方法編碼的字元:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI字元串採用UTF-8編碼格式轉化成escape格式的字元串。與encodeURI()相比,這個方法將對更多的字元進行編碼,比如 / 等字元。所以如果字元串裡麵包含了URI的幾個部分的話,不能用這個方法來進行編碼,否則 / 字元被編碼之後URL將顯示錯誤。
不會被此方法編碼的字元:! * ( ) '
因此,對於中文字元串來說,如果不希望把字元串編碼格式轉化成UTF-8格式的(比如原頁面和目標頁面的charset是一致的時候),只需要使用
escape。如果你的頁面是GB2312或者其他的編碼,而接受參數的頁面是UTF-8編碼的,就要採用encodeURI或者
encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之後引進的,escape則在javascript1.0版本就有。
❻ js加密代碼問題,我在網站的一個js文件中看到這種加密代碼,這是哪種類型的加密啊!有辦法解嗎
加密:escape(要加密的字元串)
解密:unescape(要解密的字元串)
返回的也都是字元串