using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace statckt
{
class trycalss
{
private int a;
private int A
{
set { a = value; }
}
public void tryM(int x)
{
try
{
for (int i = 0; i < x; i++)
{
A = 1 + 1;
}
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}
}
public void M(int x)
{
for (int i = 0; i < x; i++)
{
A= 1 + 1;
}
}
}
class Test
{
static void Main()
{
trycalss t = new trycalss();
DateTime dt = DateTime.Now;
DateTime dt1 = DateTime.Now;
TimeSpan ts = new TimeSpan();
try
{
int a =Convert.ToInt32(Console.ReadLine());
t.tryM(a);
ts = DateTime.Now - dt;
Console.WriteLine(ts.ToString());
dt = DateTime.Now;
t.M(1000000000);
ts = DateTime.Now - dt;
Console.WriteLine(ts.ToString());
}
catch(Exception ex)
{
Console.Write(ex.ToString());
}
ts = DateTime.Now - dt1;
Console.WriteLine(ts.ToString());
dt = DateTime.Now;
t.tryM(1000000000);
ts = DateTime.Now - dt;
Console.WriteLine(ts.ToString());
dt = DateTime.Now;
t.M(1000000000);
ts = DateTime.Now - dt;
Console.WriteLine(ts.ToString());
dt = DateTime.Now;
t.tryM(2000000000);
ts = DateTime.Now - dt;
Console.WriteLine(ts.ToString());
dt = DateTime.Now;
t.M(2000000000);
ts = DateTime.Now - dt;
Console.WriteLine(ts.ToString());
Console.Read();
}
}
}
debug:进行相同的计算,加入Try {}catch{},会比没加的方法慢一倍右左;
Release: 进行相同的计算,加入Try {}catch{},会比没加的方法更快;
posted @
2007-09-12 11:20 年轻活力 阅读(59) |
评论 (2) |
编辑
MSDN 加网上参考结合版,因为项目需求用到DES加密
using System;
using System.IO;
using System.Data;
using System.Text;
using System.Diagnostics;
using System.Security;
using System.Security.Cryptography;
/// <summary>
/// statics 的摘要说明
/// </summary>
public class statics
{
public statics()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static byte[] Gytes(string txt) //转换字节
{
UTF8Encoding utf = new UTF8Encoding();
byte[] bytes = utf.GetBytes(txt);
return bytes;
}
public static string Gpass(byte[] bt)//转换字符串
{
StringBuilder sb = new StringBuilder();
foreach (int p in bt)
{
sb.Append(Convert.ToString(p, 16).PadLeft(2, '0'));
}
return sb.ToString();
}
public static string Gutf8(byte[] bt)
{
UTF8Encoding utf = new UTF8Encoding();
return utf.GetString(bt).ToString();
}
public static byte[] Gbase(string bs)
{
return Convert.FromBase64String(bs);
}
public static string Sha1EN(string txt) //sha1散列
{
try
{
SHA1 s = new SHA1CryptoServiceProvider();
byte[] b2 = s.ComputeHash(Gytes(txt));
s.Clear();
return Gpass(b2);
}
catch { return string.Empty; }
}
public static String MD5EN(string txt)
{
try
{
MD5 m = new MD5CryptoServiceProvider();
byte[] b2 = m.ComputeHash(Gytes(txt));
m.Clear();
return Gpass(b2);
}
catch { return string.Empty; }
}
/// 使用DES加密
/// <param name="value">待加密的字符串</param>
/// <param name="key">密钥(最大长度8)</param>
/// <param name="IV">初始化向量(最大长度8)</param>
/// <returns>加密后的字符串</returns>
public static string Des3EN(string value, string key, string iv)
{
try
{
key = key.PadRight(8, '0').Substring(0, 8);
iv = iv.PadRight(8, '0').Substring(0, 8);
MemoryStream ms = new MemoryStream();
DES des = new DESCryptoServiceProvider();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(Gytes(key), Gytes(iv)), CryptoStreamMode.Write);
des.Clear();
cs.Write(Gytes(value), 0, Gytes(value).Length);
cs.FlushFinalBlock();
cs.Clear();
return Convert.ToBase64String(ms.ToArray());
}
catch { return string.Empty; }
}
public static string Des3EN(string value, string key)
{
return Des3EN(value, key, key);
}
public static string Des3DE(string value, string key, string iv)
{
try
{
key = key.PadRight(8, '0').Substring(0, 8);
iv = iv.PadRight(8, '0').Substring(0, 8);
MemoryStream ms = new MemoryStream();
DES des = new DESCryptoServiceProvider();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(Gytes(key), Gytes(iv)), CryptoStreamMode.Write);
des.Clear();
cs.Write(Gbase(value), 0, Gbase(value).Length);
cs.FlushFinalBlock();
cs.Clear();
return Gutf8(ms.ToArray()).ToString();
}
catch { return string.Empty; }
}
public static string Des3DE(string value, string key)
{
return Des3DE(value, key, key);
}
}
posted @
2007-08-03 14:15 年轻活力 阅读(113) |
评论 (0) |
编辑
如果要查找某一行数据,用什么方法比较好(效率比较高)?
现有的想法(读取数据,给每一行数据编号 插入到临时表,最后根据编号来定位)
现在就是在读取数据后,还要重新排序,造成的性能损失较大
posted @
2007-06-12 16:44 年轻活力 阅读(107) |
评论 (0) |
编辑
从网上搜索了一下,发现FCKeditor 安全问题还是很多的,平时我们上传文件一般都是图片,可以先从源代码里入手,把上传文件的扩展名锁定,还有设置上传文件大小
个人觉得会比fckconfig.js里设置来的容易,很多都能很好的控制,最后再把查看源代码的屏蔽,估计安全问题就少很多了
还有说是javascript代码的问题,好像都没有控制
posted @
2007-06-09 15:32 年轻活力 阅读(157) |
评论 (0) |
编辑
昨天刚开始使用AJAX.随笔写一下使用后的感觉:)
刚开始接触ASP.NET的时候,网上都已经流行使用Ajax了,因为我固执的原因,一直都不敢正视,只是觉得很新鲜,一定是很高深的技术.因为项目的原因,只能撑着头皮学了,没想到是撞到豆腐.
微软的软件就是傻瓜化的软件,使人慢慢的忘记了历史.会堆积木就会编程.使编程人员进一步扩大化,当然,不是所有的人都能写出一个好软件来,大家都会走路,同样是走,大部分人不能在钢丝上走.使用傻瓜化的软件以后,后果会是怎么样?
posted @
2007-05-23 23:10 年轻活力 阅读(42) |
评论 (0) |
编辑