编程产生 C5 错误

前两天有一任务,要求程序可以自校验,如果发现被非法修改则直接产生 C5 错误结束程序。印象中 vfp 是有一个函数可以直接触发 C5 错误的,可就是想不起来,也不记得是在哪里看到过,上网溜达一番也没找到,所以在论坛上发了一贴求援,结果还是新狐上路兄弟记性好,告诉了我。

 

这个函数就是 ms 没有在 vfp 帮助文档中公开的 sys(1079)!只是这个函数会弹出一个对话框,询问用户是否真的要触发一个 C5 错误,当时的解决方法就是用 keyboard 命令在键盘缓冲区中放一个 Enter 键来直接确认它,可是还是这个对话框还是会在短时间内显示出来。无意中,给这个函数加了一个参数,sys(1079,0),结果大大出乎我的意料,提示框没有了!试了三次,发现不管是什么参数,只要有附加参数就行,都会直接触发 C5,呵呵,真是“无心插柳柳成荫”啊!

 

关于自校验的问题,现在是使用 MS 已封装过 Crypto API 的 COM 库 CAPICOM,但还不是很满意,毕竟要另外发布一个 dll,理想的方案还是直接用 Crypto API 来实现,不过这个 API 类中包含的东西实在太多,以前只在计算 hash(MD5/SHA) 值时研究过(昨天还有朋友对那个计算 MD5 值的函数提出过修改意见),其他的太复杂。也是,不然密码学怎么能单独成为一门学问呢?这几天要抽空研究一下,看看能否再上一台阶。有点难,感觉有些“廉颇老矣”,不知“尚能饭否”?!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值