數據庫字段加密?

我腫了 2012-08-20 10:27:54
請問能實現數據庫字段加密嗎?

#######是字段,不是數據#######

爲了保護數據庫結構不外漏。
...全文
209 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
给数据库字段加密,SQL SERVER目前还没有这个功能吧
筱筱澄 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

好吧,有点理解偏题,字段也要加密啊


别人拿到你的数据结构又什么用呢

关键是一些数据,比如用户名密码,客户联系方式 人员资料

如果是自己的系统,那么严格控制好权限,只有个别管理员的才能访问
(这类人签署个保密协议什么的)

其它开发的或其他的,拒绝给它这个字段的读取权限。

好吧,至於爲什麽要加密,肯定有自己的理由。
請有這方面經驗……
[/Quote]

字段的加密会设置一个对照关系
就是表名 和字段名字都用 TB0001 COL001 COL002 类似这样的做表名,字段名
但是可能自己人也不知道这个是什么意思,然后建立一个execl 文档影射一下

内容加密
1、系统自带的函数,这个加密简单,破解也简单
2、用程序对内容加密
3、自己写一个数据库加密函数(百度一下很多)
以学习为目的 2012-08-20
  • 打赏
  • 举报
回复
Microsoft SQL Server 本身没有内建的功能可以满足您的需要。或许您可以考虑自行撰写加解密机制,当数据写入数据库时,同时将其加密,如此一来,不论是从 ENTERPRISE MANAGER 或是使用程序方式,所查询到的数据皆是加密过的。当您欲将被加密过的数据还原成原始的数据,只需进行解密机制即可。
如下所示即是一个可以在 SQL Server 2000 中,免费用于加解密的预存程序:
http://www.sqlservercentral.com/columnists/mcoles/freeencryption.asp
期望此信息对您有所帮助。
以学习为目的 2012-08-20
  • 打赏
  • 举报
回复
数据库字段加密好像不行吧,在编程中实现


--JAVA的MD5用法

import java.security.MessageDigest;

public class MD5 {
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

//将字节数组转换为十六进制字符串
private static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
resultSb.append(byteToHexString(b[i]));
}
return resultSb.toString();
}

//将字节转换为十六进制字符
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}

public static String MD5Encode(String origin) {
String resultString = null;

try {
resultString = new String(origin);
//MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString
.getBytes("GBK")));
} catch (Exception ex) {

}
return resultString;
}

public static void main(String[] args)
{
System.out.println(MD5.MD5Encode("admin"));
System.out.println(MD5.MD5Encode("密码内容"));
}

}
我腫了 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

好吧,有点理解偏题,字段也要加密啊


别人拿到你的数据结构又什么用呢

关键是一些数据,比如用户名密码,客户联系方式 人员资料

如果是自己的系统,那么严格控制好权限,只有个别管理员的才能访问
(这类人签署个保密协议什么的)

其它开发的或其他的,拒绝给它这个字段的读取权限。
[/Quote]
好吧,至於爲什麽要加密,肯定有自己的理由。
請有這方面經驗的大俠提些建議或意見!謝了!
筱筱澄 2012-08-20
  • 打赏
  • 举报
回复
好吧,有点理解偏题,字段也要加密啊


别人拿到你的数据结构又什么用呢

关键是一些数据,比如用户名密码,客户联系方式 人员资料

如果是自己的系统,那么严格控制好权限,只有个别管理员的才能访问
(这类人签署个保密协议什么的)

其它开发的或其他的,拒绝给它这个字段的读取权限。
筱筱澄 2012-08-20
  • 打赏
  • 举报
回复
--SQL   SERVER   本身也提代加密密码的函数: 
--pwdencrypt ,pwdcompare


--加密:
declare @logintable table(username varchar(20),passwd varbinary(256))
insert @logintable(username,passwd) values( 'yourname ',pwdencrypt( '123456 '))
declare @pwd varbinary(256)
select @pwd=passwd from @logintable where username= 'yourname '
--比较:
if pwdcompare( '12356 ',@pwd)=1
print 'true '
else
print 'false '

select * from @logintable
叶子 2012-08-20
  • 打赏
  • 举报
回复
随便弄个加密算法即可。例如MD5加密,把加密码后的数据存到数据库中。
jxqn_liu 2012-08-20
  • 打赏
  • 举报
回复
没听说过,坐等高人出现
我腫了 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

[/Quote]

想瞭解下還有沒有其他方案

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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