1) 在建立C#工程之后必须要给类一个强名称。要创建强名称,可以使用 sn 工具。此命令行工具有许多选项,在命令提示符处键入 sn /? 可以查看所有选项。对程序集签名所需的选项是“-k”,它将创建一个密钥文件。默认情况下,该文件使用 .snk 作为扩展名。例如,要创建一个名为 MyCom.snk 的密钥文件,可以使用以下命令行: sn -k MyCom.snk然后在工程中引用这个强名称方法如下:(1):注释掉AssemblyInfo.cs中的[assembly: AssemblyKeyFile("")]和[assembly: AssemblyKeyName("")](2): 在组件类中...
在实际的多用户并发访问的生产环境里边,我们经常要尽可能的保持数据的一致性。而其中最典型的例子就是我们从表里边读取数据,检查验证后对数据进行修改,然后写回到数据库中。在读取和写入的过程中,如果在多用户并发的环境里边,其他用户已经把你要修改的数据进行了修改是非常有可能发生的情况,这样就造成了数据的不一致性。解决这样的办法,SQL SERVER提出了乐观锁定和悲观锁定的概念,下边我以一个实例来说明如何使用乐观锁定和悲观锁定来解决这样的问题。/* 建立测试表:Card,代表一个真实的卡库,供用户注册.用户要从里边选出一个未使用的卡,也就是F_Flag=0的卡,给用户注册:更新F...
http://www.vckbase.com/
天通苑地图:http://www.congbird.com/smartmap/index.jsp?x=41916918&y=14421256&name=%E5%A4%A9%E9%80%9A%E8%8B%91&pid=72608&address=%E6%98%8C%E5%B9%B3%E7%AB%8B%E6%B0%B4%E6%A1%A5%E4%BB%A5%E5%8C%971%E5%85%AC%E9%87%8C&phone=010-3333%2F5555%2F9999&ttip=%E5%A4%A9...
openssl之EVP系列之4---EVP_Encrypt系列函数详解(一) ---根据openssl doc\crypto\EVP_EncryptInit.pod和doc\ssleay.txt cipher.doc部分翻译和自己的理解写成 (作者:DragonKing, Mail: wzhah@263.net ,发布于:http://openssl.126.com 之openssl专业论坛,版本:openssl-0.9.7) EVP_Cipher系列包含了很多函数,我将他们大概分成两部分来介绍,一部分是基本函数系列,就是本文要介绍的,另一个部分是设置函数系列,将在后面...
当有多个线程的时候,经常需要去同步这些线程以访问同一个数据或资源。例如,假设有一个程序,其中一个线程用于把文件读到内存,而另一个线程用于统计文件中的字符数。当然,在把整个文件调入内存之前,统计它的计数是没有意义的。但是,由于每个操作都有自己的线程,操作系统会把两个线程当作是互不相干的任务分别执行,这样就可能在没有把整个文件装入内存时统计字数。为解决此问题,你必须使两个线程同步工作。 存在一些线程同步地址的问题,Win32提供了许多线程同步的方式。在本节你将看到使用临界区、 互斥、信号量和事件来解决线程同步的问题。 1. 临界区 临界区是一种最直接的线程同步方式。所谓临界区,就是一次只能由...
临界区的互斥控制 一、前言我正在研究线程的通讯,无奈有关这方面的资料实在太少,没办法我只好去啃MSDN,但是MSDN好像说得也不太清楚。所以那我就写了这么一个例子,以望对学习多线程编程起到引玉抛砖的作用。有个易懂的例子学起来总是容易很多。近来我正在复习那几个排序算法,于是就把这些算法写到了这里来作为线程的例子。同时也对几个通用的排序算法思想作了一些说明。这个例子利用多线程使用不同的排序算法对数据进行排序,每一个线程使用不同的算法。主线程里使用快速排序QuickSort,其他四个算法分别建立四个子线程,在子线程中进行排序。因为每一个线程都要调用函数PrintResult把结果输出到显示器上...
1、床前明月光,疑是地上霜,举头望明月,我叫郭德纲。(郭德纲语录) ? ?2、刑捕头叫:“放下臭豆腐!释放人质!举手投降!这是你们唯一的机会……(《武林外传》语录) ? ?3、1644年6月6日,满族人攻入北京,为以后中国电视剧事业作出了杰出贡献。(一位上海诗人这样评价时下清剧的泛滥。) ? ?4、我长得挺漂亮,又是单身,男人不可能对我没兴趣!别人不敢穿的我敢穿,别人不敢说的我敢说,别人不敢做的我敢做!我像一颗水蜜桃,而王家卫是榨汁机。(章子怡语录) ?9、内事不决问老婆,外事不决问Google!(网友语录。何不问百度?我是先问百度,再问Google。)...
一、总以为丑女好泡 我在我过去的文章中曾经说过我有一位大学同学,因为自身条件很不好,所以他就去泡全校最丑的一位女生,结果泡了大半年也没泡到,遭到对方N次地拒绝,并被很多人嗤之以鼻。后来在我的提醒下,他把他那锲而不舍的精神用来追求一位“千人瞩目”的“系花”,结果一个月之后那女孩就怀了他的孩子,并为之成功打下了有史以来第一胎。后来他们俩毕业不久就结婚了,现在日子过得很好,两人都非常感激我。 对于这件事而言,我认为我的作用是微乎其微的,发挥决定性作用的还是泡妞主体的个人觉悟及其爱情自信心。我今天不想用“丑女多作怪”来形容一些女性,这样毕竟有些太不人道,但我今天想说的是,有些长相一般的女人对自己...
UploadFiles/2006-8/818614211.rar
Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意。作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助。 1:使用vc开发项目时,常会遇到这种情况: 即明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示重新编译连接一次,非常讨厌。这是因为出现了未来文件的缘故。 解决方法: 找出对应文件夹下的debug目录,将未来文件全部delete, 再rebuild all一次。(未来 文件即其创建和修改时间都比系统时间靠后) 2:有时,workspace中的classview显...
Music:
² 七音音乐网(http://www.7yin.com/34pp.htm)
Move:
² 火影忍者(http://hnnn.net)
My registered useful Web address:
Openssl:
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-pagination: widow-
关键词: openss RSA
RSA基本结构struct{int pad;long version;const RSA_METHOD *meth;ENGINE *engine;BIGNUM *n; n=p*qBIGNUM *e; 公开的加密指数,经常为65537(ox10001)BIGNUM *d; 私钥BIGNUM *p; 大素数pBIGNUM *q; 大素数qBIGNUM *dmp1; d mod (p-1)BIGNUM *dmq1; d mod (q-1)BIGNUM *iqmp; (i...
在计算机软件开发世界中,编程语言种类极多,数据在各种语言的表现形式可能有所差异,但数据本身的处理可能,或者说本质上是完全一样的;比如数据在某个算法中的运算过程是一样的。在这里,我以加密与解密来作为例子说明。
在C++下,我使用OPENSSL库生成了RSA的公私钥对与DES加密之用的会话密钥,并将这三者及加密结果写入文件以备在Java环境下使用。
在C++程序中,我使用使用公钥来加密了DES的会话密钥,然后在Java下使用私钥来解密会话密钥;在运算结果中,我未做其它方面的码制转换,即按密钥的初始格式DER编码,数学运算结果也是按DER编码来实现。
...
主要介绍Openssl中的有关大数运算函数,这个对于以后的RSA研究和实现比较有价值1.初始化函数 BIGNUM *BN_new(void); 新生成一个BIGNUM结构 void BN_free(BIGNUM *a); 释放一个BIGNUM结构,释放完后a=NULL; void BN_init(BIGNUM *); 初始化所有项均为0,一般为BN_ init(&c) void BN_clear(BIGNUM *a); 将a中所有项均赋值为0,但是内存并没有释放 void BN_clear_free(BIGNUM *a); 相当与将BN_free和BN_...
#include <stdio.h>
#include <openssl/rand.h>
#include <openssl/rc4.h>
#include <openssl/md5.h>
#include <openssl/evp.h>
#include <openssl/hmac.h>
#include "crypt.h"
#define DEBUG
#ifdef DEBUG
#ifdef _WIN32
#define DBG
#else
#define DBG(fmts,args...) do { fprintf(stderr,fmts...
关于ShellExecute函数的中文说明ShellExecute 函数 打开或打印一个指定的文件。文件可以是可执行文件也可以是一个文档。请查看关于ShellExecuteEx的帮助。 HINSTANCE ShellExecute( HWND hwnd, // 主窗口句柄 LPCTSTR lpOperation, // 字符串指针,指定要执行的操作 LPCTSTR lpFile, // 字符串指针,指定文件名或目录名 LPCTSTR lpParameters, // 字符串指针,指定传给可执行文件的参数 LPCTSTR lpD...
StrToHex():
unsigned long nlData = 0;
char *p;
nlData = strtoul("123456",&p,16);
IntToMem():
int main(int argc, char* argv[]){ printf("Hello World!\n"); char szBuf[1024] = {0}; memcpy(szBuf,"\x70\x40",2); memcpy(szBuf+2,"\x60\x50",2); return 0;}