1.方法一:
[c-sharp]view plain
copy
//適用於c#語言
//使用前需匯入以下命名空間:using system.web.security;
//第乙個引數為需加密的字串,第二個引數為加密的格式(只有sha1和md5兩種,可任選一種)
public
string
encryptpassword(
string
passwordstring,
string
passwordformat)
elseif(
"md5"
.equals(passwordformat))
else
return
encryptpassword;
} //********************==加密解密方法********************=
using
system;
using
system.security.cryptography;
using
system.io;
using
system.text;
/**/
///
/// dec 加密過程
///
/// 被加密的字串
/// 金鑰(只支援8個位元組的金鑰)
/// 加密後的字串
public
string
encrypt(
string
ptoencrypt,
string
skey)
...
ret.tostring();
return
ret.tostring();
} /**/
/**/
/**/
///
/// dec 解密過程
///
/// 被解密的字串
/// 金鑰(只支援8個位元組的金鑰,同前面的加密金鑰相同)
/// 返回被解密的字串
public
string
decrypt(
string
ptodecrypt,
string
skey)
...
des.key = asciiencoding.ascii.getbytes(skey); //建立加密物件的金鑰和偏移量,此值重要,不能修改
des.iv = asciiencoding.ascii.getbytes(skey);
memorystream ms = new
memorystream();
cryptostream cs = new
cryptostream(ms, des.createdecryptor(), cryptostreammode.write);
cs.write(inputbytearray, 0, inputbytearray.length);
cs.flushfinalblock();
//建立stringbuild物件,createdecrypt使用的是流物件,必須把解密後的文字變成流物件
stringbuilder ret = new
stringbuilder();
return
system.text.encoding.default.getstring(ms.toarray());
} 具體在程式中使用加密解密演算法的例子如下: 在傳送頁面 response.redirect("~/gridview.aspx?id=" + encrypt("zlh","abcdefgh"));
在接受頁面 string acceptstr; acceptstr = decrypt(request.querystring["id"],"abcdefgh");
2.方法二:(簡單)
formsauthentication.hashpasswordforstoringinconfigfile(string, "sha1");
或formsauthentication.hashpasswordforstoringinconfigfile(string, "md5");
C 雜湊加密
1.方法一 具體在程式中使用加密解密演算法的例子如下 在傳送頁面 response.redirect gridview.aspx?id encrypt zlh abcdefgh 在接受頁面 string acceptstr acceptstr decrypt request.querystring ...
c 加密 解密 雜湊
des一共就有4個引數參與運作 明文 密文 金鑰 向量。其中這4者的關係可以理解為 為什麼要向量這個引數呢?因為如果有一篇文章,有幾個詞重複,那麼這個詞加上金鑰形成的密文,仍然會重複,這給破解者有機可乘,破解者可以根據重複的內容,猜出是什麼詞,然而一旦猜對這個詞,那麼,他就能算出金鑰,整篇文章就被破...
對稱加密 非對稱加密 雜湊(雜湊)演算法
也叫私鑰加密演算法,其特徵是收信方和發信方使用相同的金鑰,即加密金鑰和解密金鑰是相同或等價的。也叫公鑰加密演算法。其特徵是收信方和發信方使用的金鑰互不相同,而且幾乎不可能從加密金鑰推導解密金鑰。用公鑰加密的過程叫加密 用私鑰解密的過程叫解密 用私鑰加密的訊息稱為簽名,只有擁有私鑰的使用者可以生成簽名...