| « | October 2026 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
|
| 统计 |
blog名称: 日志总数:122 评论数量:12 留言数量:0 访问次数:320833 建立时间:2009年1月7日 |
| 
|
本站首页 管理页面 写新日志 退出
[编程]常见证书格式和转换 |
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有: PKCS#7 Cryptographic Message Syntax Standard PKCS#10 Certification Request Standard PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC PKCS#12 常用的后缀有: .P12 .PFX X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CR
|
阅读全文(1594) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]VC字符串转换 |
一、BSTR、LPSTR和LPWSTR 在Visual C++编程中,常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。 BSTR(Basic String,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的 API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BSTR实际上就是一个COM字符串。COM版本OLECHAR是wchar_t,但是TCHAR 对于UNICODE程序才是wchar_t。 LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的8位 ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的16位双字节字符数组指针。在VC++中,
|
阅读全文(3465) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]Struts加载spring的问题 |
前几天不是一个同事使用OpenSessionInView pattern时,遇到Hibernate 3的mappinglazy="true"的问题,也不会想到它 struts启动spring的WebApplicationContext spring有三种启动方式,使用ContextLoaderServlet,ContextLoaderListener和ContextLoaderPlugIn. 看一下ContextLoaderListener的源码,这是一个ServletContextListener /** * Initialize the root web application context. */ public void contextInitialized(ServletContextEvent event) { this.contextLoader = createContextLoader(); this.contextL
|
| 阅读全文(1039) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]vc中的使用技巧 |
1.ClassView里的某个类突然丢失时可以把项目文件夹下的扩展名为.ncb和.opt的两个文件删掉,再重新打开项目。 遇到类下的成员函数定位不准,即双击该函数时并不能准确定位到指定位置时,可以把debug或release(这要视你当时选择的MODE来定)下的扩展名为:.pch的文件删掉;如还不行,就再把上面两个文件也一起删掉,再不行,,我也搞不定了,只好建议你跑出门去,对着天空大喊三声:“神啊,救救我吧!” 2.VC6的auto-complete功能,系统的Ctrl+Space输入法冲突了, 打开Menu “Tools”->“Customize”->"Keyword",选择分类为:"All commands",鼠标点击 all commands里面,敲击“comple...”就出来了,在右侧重新添加一个“Shift+Space”并Assign就行了。
|
| 阅读全文(1185) | 回复(0) | 编辑 | 精华 | 删除 |
[linux]linux服务的配置 |
1. sshd
debian默认安装后,sshd不可以远端登陆,提示"No further authentication methods available",打开/etc/ssh/sshd_config文件,找到
# Change to yes to enable tunnelled clear text passwords PasswordAuthentication no 改成yes就能登录了。
Ubuntu 是debian linux的变种,为了安全起见,默认安装不安装sshd,使用apt可以轻松的安装, sudo apt-get install openssh-server 安装的是OpenBSD Secure shell server,修改sshd_config时,注意修改文件属性,默认是只读的。
2.samba服务器 debian下配置samba是件舒服的事情,前提是默认安装. 创建用户 ,在创建用户之前,没有人能够访问samba服务器
|
| 阅读全文(1315) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]Tomcat的class加载的优先顺序一览 |
原文:http://www.donews.net/lizongbo/archive/2005/03.aspx
Tomcat的class加载的优先顺序一览
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。
2.环境变量CLASSPATH中的jar和class文件。
3.$CATALINA_HOME/common/classes下的class文件。
4.$CATALINA_HOME/commons/endorsed下的jar文件。
5.$CATALINA_HOME/commons/i18n下的jar文件。
6.$CATALINA_HOME/common/lib 下的jar文件。 (JDBC驱动之类的jar文件可以放在这里,这样就可以避免在server.xml配置好数据源却出现找不到JDBC D
|
| 阅读全文(1270) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]在别人程序中运行自己的代码 |
Windows的大多数函数允许进程只对自己进行操作。这是很好的一个特性,因为它能够防止一个进程破坏另一个进程的运行。但是,有些函数却允许一个进程对另一个进程进行操作。这些函数大部分最初是为调试程序和其他工具设计的。不过任何函数都可以调用这些函数。 这个DLL插入方法基本上要求目标进程中的线程调用LoadLibrary函数来加载必要的DLL。由于除了自己进程中的线程外,我们无法方便地控制其他进程中的线程,因此这种解决方案要 求我们在目标进程中创建一个新线程。由于是自己创建这个线程,因此我们能够控制它执行什 么代码。Windows提供了一个称为CreateRemoteThread的函数,使我们能够非常容易地在另一个进程中创建线程: CreateRemoteThread与CreateThread很相似,差别在于它增加了一个参数hProcess。该参数指明拥有新创建线程的进程。参数pfnStartAddr指明线程函数的内存地址。当然,该内存地址与远程进程是相关的。线程函数的代码不能位于你自己进程的地址空间中。 注意在Windows2000中,更常用的函数
|
| 阅读全文(1029) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]ocx如何自己指定目录 |
ocx经常用到第三方的库,例如boost openssl什么的,如果有其他版本的boost或者openssl已经安装到system32下面,你在安装麻烦就大了。
下面给个制定目录的例子
//这是我写的inf文件,安装到windows\systems\web_3d目录下 //其中web_3d目录为inf文件自己创建的 ; Web_3D ActiveX installation [version] signature="$CHICAGO$" AdvancedINF=2.0 &n
|
| 阅读全文(1081) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]常见网络错误代码解释 |
WSAEACCES (10013) Permission denied.
试图使用被禁止的访问权限去访问套接字。例如,在没有使用函数setsockopt()的SO_BROADCAST命令设置广播权限的套接字上使用函数sendto()给一个广播地址发送数据。
WSAEADDRINUSE (10048) Address already in use.
正常情况下每一个套接字地址(协议/IP地址/端口号)只允许使用一次。当应用程序试图使用bind()函数将一个被已存在的或没有完全关闭的或正在关闭的套接字使用了的IP地址/端口号绑扎到一个新套接字上时,该错误发生。对于服务器应用程序来说,如果需要使用bind()函数将多个套接字绑扎到同一个端口上,可以考虑使用setsockopt()函数的SO_REUSEADDR命令。客户应用程序一般不必使用bind()函数——connect()函数总是自动选择没有使用的端口号。当bind()函数操作的是通配地址(包括ADDR_ANY)时,错误WSAEADDRINUS
|
| 阅读全文(1509) | 回复(0) | 编辑 | 精华 | 删除 |
[编程]windows socket函数说明 |
5.1.23 socket() 简述: 创建一个套接口。 #include <winsock.h> SOCKET PASCAL FAR socket( int af, int type, int protocol); af:一个地址描述。目前仅支持PF_INET格式,也就是说ARPA Internet地址格式。 type:新套接口的类型描述。 protocol:套接口所用的协议。如调用者不想指定,可用0。 注释: socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。如果协议protocol未指定(等于0),则使用缺省的连接方式。 |
| 阅读全文(1251) | 回复(0) | 编辑 | 精华 | 删除 |
|