using system;
using system.io;
using system.security.cryptography;
namespace vavic
{
/// <summary>
/// security 的摘要说明。
/// </summary>
public class security
{
const string key_64 = "vavicapp";
const string iv_64 = "vavicapp"; //注意了,是8个字符,64位
public security()
{
//
// todo: 在此处添加构造函数逻辑
//
}
public static string encode(string data)
{
byte[] bykey = system.text.asciiencoding.ascii.getbytes(key_64);
byte[] byiv = system.text.asciiencoding.ascii.getbytes(iv_64);
descryptoserviceprovider cryptoprovider = new descryptoserviceprovider();
int i = cryptoprovider.keysize;
memorystream ms = new memorystream();
cryptostream cst = new cryptostream(ms,cryptoprovider.createencryptor(bykey,byiv),cryptostreammode.write);
streamwriter sw = new streamwriter(cst);
sw.write(data);
sw.flush();
cst.flushfinalblock();
sw.flush();
return convert.tobase64string(ms.getbuffer(),0,(int)ms.length);
}
public static string decode(string data)
{
byte[] bykey = system.text.asciiencoding.ascii.getbytes(key_64);
byte[] byiv = system.text.asciiencoding.ascii.getbytes(iv_64);
byte[] byenc;
try
{
byenc = convert.frombase64string(data);
}
catch
{
return null;
}
descryptoserviceprovider cryptoprovider = new descryptoserviceprovider();
memorystream ms = new memorystream(byenc);
cryptostream cst = new cryptostream(ms,cryptoprovider.createdecryptor(bykey,byiv),cryptostreammode.read);
streamreader sr = new streamreader(cst);
return sr.readtoend();
}
}
}
