对数据库中的表怎么加密,还有数据库加密,高手帮帮忙

jianhuili 2010-06-17 12:57:02
比如创建一张密码表
create table yonghu
(zhanghao char(20),
mima char(20)
)
怎么样对它进行加密,我看到有人用encrypt 可是我不知到怎么用,还行高人指点,代码帮我写下,呵呵
...全文
199 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianhuili 2010-06-17
  • 打赏
  • 举报
回复
那个地址错了
中国风 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jianhuili 的回复:]

create table emp (ssn varchar(124) for bit data);
set encryption password = 'Ben123';
insert into emp (ssn) values(encrypt('289-46-8832'));
insert into emp (ssn) values(encrypt('222-46-1904'));……
[/Quote]
那是05以上版本支持的加密方式
SQL2000,查看8樓連接

jianhuili 2010-06-17
  • 打赏
  • 举报
回复
create table emp (ssn varchar(124) for bit data);
set encryption password = 'Ben123';
insert into emp (ssn) values(encrypt('289-46-8832'));
insert into emp (ssn) values(encrypt('222-46-1904'));
insert into emp (ssn) values(encrypt('765-23-3221'));
select decrypt_char(ssn) from emp;


这是什么意思,在收sql sever 2000运行不了,出错
  • 打赏
  • 举报
回复
我也正需要这方面的资料
中国风 2010-06-17
  • 打赏
  • 举报
回复
ChinaITOldMan 2010-06-17
  • 打赏
  • 举报
回复
encrypt只是对数据的存储过程等脚本加密,不能对数据加密
adion 2010-06-17
  • 打赏
  • 举报
回复
这个问题应当与数据库无关吧?
给你两个加解密函数吧,写入数据库的时候将密码加密,读取时解密比较就可以了!

private static string iv = "RTRnaGoqR2hnNyFyTklmYg==";
private static string key = "R3V6KCUmaGo3eDg5SCR5dUJJMDQ1NkZ0bWFUNSZmdkg=";
private static SymmetricAlgorithm mobjCryptoService = new RijndaelManaged();
public static string Encrypto(string source)//将 source 加密
{
byte[] bytIn = UTF8Encoding.UTF8.GetBytes(source);
MemoryStream ms = new MemoryStream();
mobjCryptoService.Key = Convert.FromBase64String(key);
mobjCryptoService.IV = Convert.FromBase64String(iv);
ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
cs.Write(bytIn, 0, bytIn.Length);
cs.FlushFinalBlock();
ms.Close();
byte[] bytOut = ms.ToArray();

return Convert.ToBase64String(bytOut);
}

public static string Decrypto(string source)//将 source 解密
{
byte[] bytIn = Convert.FromBase64String(source);
MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);
mobjCryptoService.Key = Convert.FromBase64String(key);
mobjCryptoService.IV = Convert.FromBase64String(iv);
ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);

return sr.ReadToEnd();
}
haitao 2010-06-17
  • 打赏
  • 举报
回复
仅仅是加密 密码表 里的密码?
程序加密后再保存好了——即仅仅保存密码的md5值或checksum,根本就无法还原!当然还要防止查表法“还原”
  • 打赏
  • 举报
回复
从业务系统入手吧~
v1ctory1216 2010-06-17
  • 打赏
  • 举报
回复
对数据库中的对象加密,从而不让数据库管理员看到,可以用证书,对称加密和非对称加密
永生天地 2010-06-17
  • 打赏
  • 举报
回复
encrypt只是对数据的存储过程等脚本加密,不能对数据加密

22,209

社区成员

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

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