2009年8月小记(DES加密模式, vim, DOS隐藏与排序,tinyget压力测试,线程等待)
1、DES加密模式与java兼容。
最近有一个合作单位用的DES加密是ECB模式,填充模式为PKCS5Padding
对于.net来说就要配置成ECB模式,填充模式为PKCS7 与之相兼容
private static DESCryptoServiceProvider des = null;
private static readonly object ton = new object();
public static DESCryptoServiceProvider DES
{
get
{
if (des != null) return des;
string key = GetAppSettings("ICouponService.DESKey");
if (string.IsNullOrEmpty(key)) throw new ArgumentNullException("key不能为空");
if (key.Length != 8) throw new InvalidCastException("key的长度必须为8");
var bytes = ASCIIEncoding.ASCII.GetBytes(key);
if (des == null)
{
lock (ton)
{
if (des == null)
{
des = new DESCryptoServiceProvider();
des.Key = bytes;
des.IV = bytes;
}
}
}
//java兼容
des.Mode = CipherMode.ECB;
des.Padding = PaddingMode.PKCS7;
return des;
}
}
2、设置vim保存不保留副本,搜索快捷键
打开C:\Program Files\Vim\_vimrc 添加:
"不生成副本
set nobackup
如果要搜索文件,快捷键为Alt+E+F
3、DOS隐藏文件夹:
attrib +s +a +h +r e:\tools
attrib -a -s -h -r e:\tools
4、DOS命令dir 排序
dir [/O[[:]sortorder]]
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 反转顺序的前缀
如:dir /o:d 或dir /o:-d
4、tinyget.exe压力测试
tinyget.exe -srv:www.xxx.com -uri:/default.aspx -threads:30 -loop:50s
模拟30个客户端,每个请求50次
5、等待一个thread完成后再执行的方式
public class ResetEvent
{
public static void Test()
{
ManualResetEvent re = new ManualResetEvent(false);
Thread t1 = new Thread(new ThreadStart(() =>
{
re.Reset();
Thread.CurrentThread.Priority = ThreadPriority.Highest;
for (int i = 0; i < 300; i++)
{
Console.WriteLine(i * 100);
}
re.Set();
}));
t1.Start();
re.WaitOne();
for (int i = 0; i < 300; i++)
{
Console.WriteLine("---");
}
}
}