如何使加密字符串不被反编译?

aatny1 2009-10-09 09:22:20
对数据库中表的字段进行加密,
SET @passphrase = 'p@55w0rd'
用了加密函数:EncryptByPassphrase()。程序编译成exe后,用winhex打开,可以轻易地找到密钥,请问如何设置字符串,使得在exe中不能轻易地被查看?
...全文
250 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xman_78tom 2009-10-09
  • 打赏
  • 举报
回复
在 sql server 的数据加密中不是有这样的加密层次:服务器主密钥、数据库主密钥、证书(非对称密钥)、对称密钥。
为什么不为用证书(非对称密钥)加密对称密钥,再用对称密钥加密数据,而非用用户密码?
navy887 2009-10-09
  • 打赏
  • 举报
回复
数据加密后保存,使用MD5,或者自己写个加密算法。
aatny1 2009-10-09
  • 打赏
  • 举报
回复
更为一般的情况,
int main()
{
char* ch = "abcdef";
return 0;
}
编译后,用winhex打开exe文件,可以看到ch的内容,这时,又不能使用md5加密,如何使得ch的内容在exe中不可(或者很难)被追踪?
黄_瓜 2009-10-09
  • 打赏
  • 举报
回复
md5 就不能被反编译
aatny1 2009-10-09
  • 打赏
  • 举报
回复
md5加密保存的话,在可执行文件中保存的就是加密后的二进制值么?
7761098 2009-10-09
  • 打赏
  • 举报
回复
这个加密是加密数据库列中的值的,确实没有那么安全
7761098 2009-10-09
  • 打赏
  • 举报
回复

EncryptByPassPhrase(@passphrase
, 列名, 1, CONVERT( varbinary, CreditCardID))
bancxc 2009-10-09
  • 打赏
  • 举报
回复
md5加密保存吧

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧