Foxtable(狐表)用户栏目专家坐堂 → 将SQL数据库中的某列加密方法?


  共有2449人关注过本帖树形打印复制链接

主题:将SQL数据库中的某列加密方法?

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
将SQL数据库中的某列加密方法?  发帖心情 Post By:2016/11/9 22:27:00 [只看该作者]

在sql数据库的员工信息表中有一列比如"银行帐号"列,如果想让其在sql数据库中显示为加密的字符,任何人在后台sql数据库中都无法看到。
但当加载到项目中来时又显示为真实的帐号如“123456789“要怎么办?因为项目中可以设置这列只让出纳看见即可。

主要问题就是同一列在sql数据库中显示为加密的,在项目中打开时又是可以识别的,而且授权用户可以按常规更改,保存后后台又是加密的就行。

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/9 22:51:00 [只看该作者]

只能通过窗口控件进行编辑和显示正确的数据,不能使用绑定

1、编辑完成后加密再保存到表中

2、解密后再显示到窗口控件中

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/11/10 10:22:00 [只看该作者]

问题是表加载后此列就要显示为明码,其他表中还会根据其值来引用数据 ,是不是在表加载时自动增加一列表达式列让其显示解密数据,程序中引用就通过这个表达式列来引用,而有权编辑的用户编辑时直接点击加密那列修改保存即可?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/10 11:00:00 [只看该作者]

做不到。

可以考虑把数据加载,然后解密后把数据复制到一个临时表中,其它表引用这个临时表的数据。

总之需要一个中间的过渡,没有办法直接使用

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/11/12 10:55:00 [只看该作者]

加密后列中的数据为:228HqJrxgDHJQFHwqhK3Mgetrtrfddd==

这些一长串的数据类型要设置什么数据类型比较合适?用类似 Nvarchar(50)?不知道长度应该设置多少才合适?有的加密后会很多字符。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/12 11:19:00 [只看该作者]

看加密算法。md5的话一般是定长的,有些可能是用来内容的好几倍

 回到顶部