随笔 - 7  文章 - 0 评论 - 2 trackbacks - 0
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

与我联系

搜索

 

常用链接

留言簿

我参与的团队

随笔档案

最新评论

阅读排行榜

评论排行榜

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(08);
            iv 
= iv.PadRight(8'0').Substring(08);
            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(08);
            iv 
= iv.PadRight(8'0').Substring(08);
            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-07-25 21:59 年轻活力 阅读(97) | 评论 (0)编辑
 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4using System.Security;
 5using System.Security.Cryptography;
 6namespace ConsoleApplication3
 7{
 8    class Program
 9    {
10        static void Main(string[] args)
11        {
12            string a = Console.ReadLine();
13            SHA1 sha=new SHA1CryptoServiceProvider();
14            UTF8Encoding utf = new UTF8Encoding();
15            byte[] s1 = utf.GetBytes(a);
16            byte[] s2 = sha.ComputeHash(s1);
17            sha.Clear();
18            for (int i = 0; i < s2.Length;i++ )
19            {
20                Console.Write("\t"+Convert.ToString(s2[i], 16).PadLeft(2,'0')+" "+s2[i]);
21                
22            }

23            Console.Read();
24        }

25       
26       
27    }

28
29}

今天正好碰到,由于C\S和B\S共用,产生了一些无聊的问题,B\S用SHA1加密时字符串长度在40,保持不变,可是C\S用SHA1加密时字符串长度会出现小于40。
由于Byte进行散列时,会有出现0,再进行convert转换时,原本是00的,就变成了0,最后长度就不一了
posted @ 2007-07-22 11:58 年轻活力 阅读(45) | 评论 (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)编辑