社区
Windows SDK/API
帖子详情
我用CryptEncrypt加密数据后,发现加密后的字符串中间有‘\0’,怎么保存?
best_diyer
2003-10-20 09:19:59
BOOL CRYPTFUNC CryptEncrypt(
HCRYPTKEY hKey,
HCRYPTHASH hHash,
BOOL Final,
DWORD dwFlags,
BYTE *pbData,
DWORD *pdwDataLen,
DWORD dwBufLen
);
比如pdwDataLen返回值为50,但第40个字符是\0,那我怎样把它保存到数据库中呢?
又怎样读取呢?
大虾救命。
...全文
350
16
打赏
收藏
我用CryptEncrypt加密数据后,发现加密后的字符串中间有‘\0’,怎么保存?
BOOL CRYPTFUNC CryptEncrypt( HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBufLen ); 比如pdwDataLen返回值为50,但第40个字符是\0,那我怎样把它保存到数据库中呢? 又怎样读取呢? 大虾救命。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lihongxing2002
2004-02-09
打赏
举报
回复
Mark
linush2001
2004-02-05
打赏
举报
回复
把加密后各个字符的ASCII码(【如('\0'记为'FF').】)保存下来就可以了。
当然你也可以自己设定一个编码规则进行处理。
best_diyer
2004-02-04
打赏
举报
回复
为什么没有人回答呢?
best_diyer
2004-02-03
打赏
举报
回复
难道只能本机加密,本机解密吗?
best_diyer
2004-02-03
打赏
举报
回复
我现在保存下来了,用了HEXTOBIN()函数,但结果为EACDFA4334000000等,感觉不好。
还有一个问题,我发现不同的计算机加解密的结果不相同,各位大侠有否遇到,请问怎么解决。
lianghao2
2003-10-30
打赏
举报
回复
up/
我不懂电脑
2003-10-27
打赏
举报
回复
保存到数据库你可以用Blob字段以二进制方式就可以了。
netsys2
2003-10-27
打赏
举报
回复
可以结题了!
别按ASCII码存,按二进制存数据库
orcher
2003-10-27
打赏
举报
回复
编码
teatool
2003-10-21
打赏
举报
回复
二进制数据中\0也是合法字符
best_diyer
2003-10-21
打赏
举报
回复
一头雾水
wyb_45
2003-10-21
打赏
举报
回复
使用void * 保存到数据库里也应该是Blob数据流,而不是字符串
这两方面在这个论坛上有很多。你只是同时遇到两个问题,一个一个地解决。
blankman
2003-10-20
打赏
举报
回复
这种问题一般都是将指针转化为 void * 的
然后提供一个写入的长度,这样就不会担心其中的字符了
好多函数都是这样的,你可以留意一下
input(void * data, int datalength);
huangjuliang
2003-10-20
打赏
举报
回复
这个我觉得不好,你用什么来代替呢??
你有某个字符来代替了,
刚好这个字符串也是这个字符,
这如何区分?
还是转化为Hex保存吧!
zihan
2003-10-20
打赏
举报
回复
或者你用一个字符把它替换了,然后读取的时候再替换回来.
Behard
2003-10-20
打赏
举报
回复
你可以转换为 Hex 保存的
C++/VC/MFC
字符串
/文件加解密
C++/VC/MFC
字符串
/文件加解密
注意:编译时请先安装PSDK最好是将库引用排在第一个位置
//--------------------------------------------------------------------
// In this and all other sample and example code,
// use the following #define and #include statem
轻松看懂的加解密系列(5) —— Windows平台下本地
数据
加密
的新选择(附源码)
介绍 CryptProtectData 和 CryptUnprotectData,这组更适合于需要将
数据
保护与用户关联的场景的API
文件
加密
CryptEncrypt
和导出密钥CryptExportKey学习笔记
刚刚接触C++,使用
CryptEncrypt
来对一个文件进行
加密
,代码都是MSDN上的,一开始使用起来比价困难,这里对代码解读和分享一下。 #include
#include
#include
#include
#include
#pragma comment (lib, "advapi32"
C#
数据
Encrypt
加密
Encrypt解密的算法使用
C#
数据
Encrypt
加密
Encrypt解密的算法使用,如下图所示的
加密
和解密的方式 该框架还为在System.Security.Cryptography.Xml中创建和验证基于xml的签名以及在System.Security.Cryptography.X509Certificates中使用数字证书的类型提供了更专门的支持 1、Windows Data Protection ...
C/C++ 常用加解密算法收集
Base64是一种用于将二进制
数据
编码成可打印字符的编码方式。它将3个字节的二进制
数据
编码为4个可打印字符,从而将二进制
数据
转换为文本形式。Base64编码的原理是将3个字节的
数据
拆分为4个6位的片段(每个片段6位),然后将每个6位的片段转换为对应的可打印字符。如果原始
数据
不是3的倍数个字节,编码时会进行填充。Base64编码使用64个可打印字符作为编码表,通常包括A-Z、a-z、0-9以及两个额外的字符(例如+和/或-和_)。编码表中的字符是按照特定顺序排列的。
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章