我想实现对SQL数据库进行加密,数据库是应用在winform中的,但是现在还没有头绪(当然不只是对登陆用户的密码进行加密),请大家提提建议和方法!
解决方案 »
- C# a是一个数字型变量,如是a小于0,则a=0,有没有简单的函数啊?请前辈指点!
- 我用C#写的局域网聊天工具但是总是掉线
- 新手请教,各位大大帮帮忙。BackgroundImage问题
- windowsmediaplayers控件如何控制视频的播放?
- 求助:日期类型问题
- socket通信的时候为什么不能传输汉字
- 请问如何替代??
- VS2005 怎么添加组件 比如:一个统计代码行数的组件 .addin文件??请有经验的人帮解答
- 关于在DataGrid中修改了数据后直接点ToolBar保存的问题
- 要发布一个C#程序,不考虑大小,至少要附带哪些dll才能在98上运行?
- 如何与flash进行通讯?
- 如何制作类似于信箱添加附件的形势(如何在后台从javascript中取数据)
对数据库中的数据进行加密是可行的,.net 提供了一大堆加密算法.System.Security.Cryptography 下面有许多算法.
还有可以去这里看看回答:http://61.186.252.131//Expert/topic/1866/1866394.xml?temp=.7181513
主要解答者: zjcxc 提交人: zjcxc
感谢: zjcxc
审核者: pbsql 社区对应贴子: 查看
A : 首先,做好用户安全:
--简单的,只允许sql的用户访问sql(防止利用administrator组用户访问)
1.企业管理器--右键SQL实例--属性--安全性--身份验证--选择"sql server和windows"--确定
2.企业管理器--安全性--登陆--右键sa--设置密码--其他用户也设置密码
3.删除用户:
BUILTIN\Administrators
<机器名>\Administrator --这个用户不一定有
这样可以防止用windows身份登陆SQL
4.设置进入企业管理器需要输入密码
在企业管理器中
--右键你的服务器实例(就是那个有绿色图标的)
--编辑SQL Server注册属性
--选择"使用 SQL Server 身份验证"
--并勾选"总是提示输入登录名和密码"
--确定
--经过上面的设置,你的SQL Server基本上算是安全了.
------------------------------------------------------------------------
其次,改默认端口,隐藏服务器,减少被攻击的可能性
SQL Server服务器
--开始
--程序
--Microsoft SQL Server
--服务器网络实用工具
--启用的协议中"TCP/IP"
--属性
--默认端口,输入一个自已定义的端口,比如2433
--勾选隐藏服务器
----------------------------------------------------------------------------
--管好sql的用户,防止访问他不该访问的数据库(总控制,明细还可以控制他对于某个数据库的具体对象具有的权限)
--切换到你新增的用户要控制的数据库
use 你的库名
go
--新增用户
exec sp_addlogin 'test' --添加登录
exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户
exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限
--这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表
go
--删除测试用户
exec sp_revokedbaccess N'test' --移除对数据库的访问权限
exec sp_droplogin N'test' --删除登录
---------------------------------------------------------------------------
最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例:
--添加
--添加用户:
exec sp_addlogin '用户名','密码','默认数据库名'
--添加到数据库
exec sp_grantdbaccess '用户名','数据库名'
--分本权限
grant insert,select,update,delete on table1 to public
-------------------------------------------------------------------
至于具体的安全设置和理论知道,参考SQL联机帮助
**还有,我想请问各位说的对关键“字段”加密中的字段是指关键“列”还是关键“字符串(字符)”啊?
如果在资源管理器中对数据库文件进行加密,则会提示"该文件正在使用中",所以,必须停止SQL-Server服务器,然后再进行加密,但加密后再启动SQL-server服务器,刚刚加密的文件将无法使用,SQL企业管理其中显示为"置疑"数据库. 这就是所说的"SQL-Server无法辨别被用户加密的数据库文件."
数据库安全不是这么搞得,你还是学学dba方面的东西,sql数据库的安全性是足够了
----------------------------------------------------------------------------------倘若是c/s模式,客户可以看到你的*.mdf数据库文件,把这数据库文件拷贝到其他pc上,注册到企业管理其中,一切都可以看到,这个你试过了吗?