日期:2014-05-19  浏览次数:20543 次

关于传递字符串加密的问题
页面跳转时我想把用户ID做为参数传递,通过URL的方式,但是我不希望用户能看到,想对字符串进行加密,找到很多加密方法有的不会用有的不好用,有人能给一个简单点的并且好用的方法吗?谢谢了!

------解决方案--------------------
既然这样,干脆用Session传递好了。
------解决方案--------------------
不想看到你可以用Post方式何必这么麻烦呢
实在要这样你可以自己写个可逆的算法就行
------解决方案--------------------
/// <summary>
/// 将指定字符串进行Base64编码。
/// </summary>
/// <param name= "codeType "> </param>
/// <param name= "code "> </param>
/// <returns> </returns>
public static string EncodeBase64(string codeType, string code)
{
string encode = " ";
byte[] bytes = Encoding.GetEncoding(codeType).GetBytes(code);
encode = Convert.ToBase64String(bytes);
return encode;
}
/// <summary>
/// 将指定字符串进行Base64解码。
/// </summary>
/// <param name= "codeType "> </param>
/// <param name= "code "> </param>
/// <returns> </returns>
public static string DecodeBase64(string codeType, string code)
{
string decode = " ";
byte[] bytes = Convert.FromBase64String(code);

decode = Encoding.GetEncoding(codeType).GetString(bytes);
return decode;
}

codeType可以用 "utf-8 "
code为你要加/解 密的内容
------解决方案--------------------
类似
string strTest= "123 ";
strTest=EncodeBase64( "utf-8 ",strTest);
//strTest : STLz
strTest=DecodeBase64( "utf-8 ",strTest);
//strTest: 123
------解决方案--------------------
楼上的偶赞同
不过还有种方法
public class Md5
{
/// <summary>
/// md5加密方法
/// </summary>
/// <param name= "str "> 需要加密的字符传 </param>
/// <returns> 加密后的字符传 </returns>
public static string Encrypt(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5 ");
}
}
------解决方案--------------------
将数字进行MD5加密没有什么意义,人家要是想知道的话从1到N一个一个去进行MD5加密,再跟传递的参数进行比较不就知道实际ID了。
------解决方案--------------------
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace MDcode
{
/// <summary>
/// Rijndael 的摘要说明。
/// </summary>
public class Rijndael
{
private System.Security.Cryptography.SymmetricAlgorithm sa;
private string key;
private string IV;

public Rijndael()
{
sa = new RijndaelManaged();
key = "!w@o#s$h%i^s&j*f(z)x_womenzuihao "; // "2S(a5%aE9&$820blOF*!ao43KplpPTq82%ggj(ai18*afkv3AfghKO28vs9favi(jFf*Fdja98w8JIlfo3v0f%lfjOi3jIf9*2jNv!eq ";//这个自己可以改掉
IV = "1011[{shuyu733}] "; // "v%fjh1aaG&94r8fi*fyh4afg0ir3QYgjOi0fatj3iV5Y(jkg6e!fg0r3f7GVR9gmrn(0ogEnJ6q%gjir30h(T530hbw!gmKeq2g*(n0j ";//这个也可以改掉

}
private byte[] getKey()
{
string gKey = this.key;

sa.GenerateKey();
byte[] bTemp = sa.Key;
int keyLength = bTemp.Length;