BouncyCastle JCE实践(六) (转)
BouncyCastle JCE实践(六) (转)[@more@] 签名的实现过程XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 1)读取自己的私钥 对于自己的私钥文件,要用File类来声明。读取时,将用FileInputStream格式来作为输入流。而读出的密钥是字节数组,所以应该将读出的密钥用ByteArrayOutStream来保存,再用toByteArray格式来将它转化为字节数组。 生成签名要使用自己的私钥,而私钥使用PKCS8#编码。所以我们还要将字节数组转化为PKCS8#编码形式。实现方法如下: PKCS8EncodedKeySpec keyspec=new PKCS
BouncyCastle JCE实践(五) (转)
BouncyCastle JCE实践(五) (转)[@more@] 对称解密的实现 对称加密/解密算法在电子商务交易过程中存在几个问题: (1) 要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。直接的面对面协商可能是不现实而且难于实施的,所以双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商; (2) 密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流; (3) 对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份;
BouncyCastle JCE实践(四) (转)
BouncyCastle JCE实践(四) (转)[@more@] 对称加密的实现 加密可提高终端和网络通讯的物理安全,有三种方法加密传输数据: * 链接加密:在网络节点间加密,在节点间传输加密,传送到节点后解密,不同节点对间用不同密码. * 节点加密:与链接加密类似,不同的只是当数据在节点间传送时,不用明码格式传送,而是用特殊 的加密硬件进行解密和重加密,这种专用硬件通常旋转在安全保险箱中. * 首尾加密:对进入网络的数据加密,然后待数据从网络传送出后再进行解密.网络本身并不会知 道正在传送的
几乎所有基于Java的web app都需要Model 2 (part II) (转)
几乎所有基于Java的web app都需要Model 2 (part II) (转)[@more@] 几乎所有基于Java的web app都需要Model 2 当Web容器从客户端程序接收到一个请求时,控制流开始运行。所有的请求都被传递给控制器。由控制器servlet决定将请求传递给哪个视图.图 1 仅罗列出了一个视图,但在实际应用中,通常会有多个视图。客户端程序请求的视图会调用JavaBean中的方法并且返回一个Reaponse对象给web容器,由web容器将这个Response对象传递给客户端程序。 控制器Servlet使用ResquestDispatcher对象将请求推向它们对应的视图(JSP页面),U
Win32下Foxbase+数据库浏览程序的编写 (转)
Win32下Foxbase+数据库浏览程序的编写 (转)[@more@]一、目的硬件:cpu (Cyrix 200MHz ), 内存16M,硬盘4G要求:在windows98的资源管理器中鼠标双击任何一个Foxbase+数据库文件图标(每个文件数据记录在一万条以下),程序打开数据库文件并显示数据库内容。 二、步骤Foxbase+数据库文件格式(参照Mark Sadler的文件格式说明和相应C语言源程序文件)编程中发生的问题:以下是Mark Sadler的dbF.H文件部分内容:typedef unsigned char UCHAR; struct FIELD_RECORD /* This structure is filled in memory */{ /* with a fre
谈static在MFC中的运用 (转)
谈static在MFC中的运用 (转)[@more@]学习《深入浅出MFC》有一段时间了,有一些想法就记了下来,希望与大家共勉 我们知道,C++中的static数据成员表示基于该类创建的所有对象共享该static数据成员的一份拷贝。基于这个原则,可以实现多种技术,比如说为某类创建一个计数器,用来记录任意时刻共创建了多少个此类的对象。 class test{public: test(){count++;} static int count;};test::count=0;void main(){cout<<test::count;test t1;cout<<test::count;test t2,t3;cout<<test::count;}虽然用全局变量也可
delphi的面向对象之路1 (转)
delphi的面向对象之路1 (转)[@more@] 规则一:为每一个类创建一个单元(One Class,One Unit) 请始终牢记这一点:类的私有(private)和保护(protected)的部分只对于其他单元中的类和过程(procedure)才是隐藏的.因此,如果你想得到有效的封装性,你应该为每一个类使用一个不同的单元。对于一些简单的类,比如那些继承其他类的类,你可以使用一个共享的单元。不过共享同一个单元的类的数目是受到限制的:不要在一个简单的单元里放置超过20个复杂的类规则二:为组件命名(Name Components)为组件使用带有描述性的名字同样十分重
资源文件的应用 (转)
资源文件的应用 (转)[@more@]建立一个RC文件,本示例程序:SwfFile.rcRC文件其实就是一个资源文件的描述文本。然后可以输入一些我们要定义的资源,示例:Flash SwfFile1 Thanks.SWF然后用BRCC32把这个RC文件编译成SwfFile.RES。BRCC32 SwfFile.rc保存为Swf.bat批处理文件。在Delphi的工程文件中使用 $R 编译指令让Delphi包括资源到EXE文件里面。{$R SwfFile.RES}此时我们可以在单一的执行文件中调用资源了。示例代码如下://资源文件流的应用procedure FlashResToFile(const ResName, ResType, FileName: string);var FlashRes: TRes
smarty 模板的入门 (转)
smarty 模板的入门 (转)[@more@]写给用准备用smarty开发的朋友入门的教程!! 善其事必须先利器,下载最新的版本:PHP.NET/">http://smarty.php.net/,解压! 在你的web的根目录下建立这样的结构的几个文件夹,我的是E:/WEB/site/ 注意:拷贝刚才你解压的smarty文件夹下的libs文件夹的所有的文件到calss文件夹下 取消temlates文件夹的只读属性!!OK,基本上搞定!下面坐一些相关的设定! 在web的根目录下建立main.php文件:(我的是E:/WEB/site/) <?php include "class/Smarty.class.php"; define('__SITE_root', 'd:/ap
查询区分大小写 (转)
查询区分大小写 (转)[@more@]在sql2000和7.0的查询语句中,区分大写的查询方法 --sql2000,就用下面的方法.--就是在字段名后加 collate Chinese_PRC_CS_AS_WS --区分大小写、全半角字符的方法 --测试数据create table 表(fd varchar(10))insert into 表select aa='aa'union all select 'Aa'union all select 'AA' --全角Aunion all select 'A,A' --全角A,半角,union all select 'A,A' --全角A,全角,go --查询--1.查大写字母select * from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%'
Effective C#-Working with Strings (翻译) (转)
Effective C#-Working with Strings (翻译) (转)[@more@]看到一篇适合初学者的小短文,就翻译了过来,飞刀板砖只管来,做好准备了:) . Effective C#-Working with Strings Author: Mahesh Chand 1。空字符串 检查一个字符串是否为空,一个有效的方法是使用string类的Length属性来取代使用null或与""比较。string str1 = AMethodReturnsString(){ //Do something and return a string}if (str1.Length>0){ //do something} 2。字符串连接 每当修改一个字符串使之返回新的字符串时,建立许多字
InstallShield自定义对话框浅谈(五) (转)
InstallShield自定义对话框浅谈(五) (转)[@more@] //=========================================================================== // 文件:winsysdll.h // 描述:定义系统动态库的函数原型 // // 更新: // 2004/02/06 //=========================================================================== XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> #ifndef __WINSYSDLL_H__ #define __WINSYSDLL_H__ //--------------------------
InstallShield自定义对话框浅谈(四) (转)
InstallShield自定义对话框浅谈(四) (转)[@more@] /*------------------------------------------------------------------------*/ /* */ /* Function: ChecksqlServerDSNInputValid */ /* */ /* Descrip: check the input data is valid. */ /* do not need to check the pwd if empty */ /* Misc: */ /* */ /*------------------------------------------------------------------------*/ function CheckSQLSer
InstallShield自定义对话框浅谈(三) (转)
InstallShield自定义对话框浅谈(三) (转)[@more@] /*------------------------------------------------------------------------*/ /* */ /* Function: BuildsqlServerDSN */ /* */ /* Descrip: use custom sqlserver's dsn dlg to create dsn. */ /* */ /* Misc: */ /* */ /*------------------------------------------------------------------------*/ function BuildSQLServerDSN(bFirstStep, bAllowNotSet,szTitle)  
InstallShield自定义对话框浅谈(二) (转)
InstallShield自定义对话框浅谈(二) (转)[@more@]二、 根据输入控制对话框上控件的有效性在自定义了一个对话框之后,可能需要对对话框上的控件之间的关系进行一些控制,比如当选中了某单选框后,使一些控件有效,而选中其他的单选框后,另一些控件有效等等。要实现这些功能,就需要手动编写InstallShield脚本来实现了。下面是一个在安装向导中添加了一个自定义对话框,在该步骤中实现在安装的时候在本机器上添加一个sql SERVER的数据源。图“自定义对话框效果图”是该自定义对话框的运行效果图: 在该自定义对话框中,除了要完
InstallShield自定义对话框浅谈(一) (转)
InstallShield自定义对话框浅谈(一) (转)[@more@] 关键字:InstallShield,_isuer.dll,自定义对话框 说明:本文档的InstallShield为6.22版本,语言:中文。操作系统为windows2000。资源编辑工具:microsoft Visual C ++ 6.0。修改的DLL:_isuer.dll。 InstallShield允许添加自定义对话框来满足不同的需求,关于如何创建一个新的对话框资源,有很多参考资料可以查询,就不多说了。这里主要说明的有以下几个方面: 1、 如何创建具有InstallShield Wizard同样风格的对话框。 2、 如何编写脚本来控制自定义对话框上的输入和
用Excel编写小游戏 (转)
用Excel编写小游戏 (转)[@more@]游戏要给予人的是欢娱快乐而非困扰闹心,要满足玩乐之心,有时一片树叶已经足够。对于我们这些游戏开发爱好者来说,asm、c、c++、DirectX、opengl、flash等并非是我们必需的知识和工具,有时一些意想不到的实现更能体现游戏简单的真意。 办公软件excel大家熟悉不过,其功能我不多说。但大家可有想过在Excel中也可实现个把小游戏?这个不是指97版Excel中的复活节彩旦游戏,而是实实在在的利用Excel资源编写、在Excel下运行的小游戏。经过几代的升级,ms Office下的vba(Visual Basic for application)语言
我就是程序,程序就是我吗? (转)
我就是程序,程序就是我吗? (转)[@more@] 我就是程序,程序就是我吗? “我就是程序,程序就是我。”梁肇新先生在书《编程高手箴言》的封底上这样写到。看到这句话不竟有一丝共鸣和莫名的感动。回头看看,中国第一代的程序英雄里,梁先生是少数还在从事这个行业的战士。我是报着对他们敬仰将我带入这个殿堂的(虽然我说不清后不后悔)。梁先生出道很早,但成名却不算早,在那个年代中属于成名最晚的人(成名越晚的程序员所面对的挑战不比机遇少,想想越来越恶劣的盗版行业)。凭借自己的超级解霸的“Direct CD”的硬功夫在国内
用设计模式开发通用数据库操作器 (转)
用设计模式开发通用数据库操作器 (转)[@more@] 我们都希望在开发软件的时候能少写一些代码,希望能到处使用,希望不用管什么样的数据库软件都能用,我们该怎么办呢? 我们操作数据库时用到些什么类 一般来说,我们对数据库进行操作时都会用到一些类,下面我就对着些类做个总结: 1. sqlServer: a) System.Data.SqlClient.SqlDataAdapter:SQL数据适配器。表示用于填充 2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemdatadatasetclasstopic.htm">DataSet 和更新 SQL SERVER 数据库的一组数据命
Win2000下Bugzilla安装实录(三) (转)
Win2000下Bugzilla安装实录(三) (转)[@more@]9 附录:(perlModule.bat) @echo off XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> @echo *******Start install perl module for bugzilla*********** @echo ******************Ready Go!!!*********************** @echo ********* Install Bundle::Bugzilla Module ************ call ppm install Bundle::Bugzilla @echo OK!! @echo ********* Install Chart Module ************ call ppm ins