C# 加密和解密字符串

C# 加密和解密字符串,c#,vb6,encryption,C#,Vb6,Encryption,有人知道使用VB6加密和解密字符串以确保敏感数据安全的好方法吗 另外,是否有可以在VB6和.NET之间共享的加密方法? 例如: 加密字符串将使用VB6应用程序写入数据库,但如果可能,还需要使用.net framework在c.net应用程序中读取并解密该值 谢谢 是的,像这样的算法是相当标准的,只要你使用相同的密钥,应该绝对没有问题。是的,像这样的算法是相当标准的,只要你使用相同的密钥,应该绝对没有问题。你看过System.Security.Cryptography了吗 我想看看AesCrypt

有人知道使用VB6加密和解密字符串以确保敏感数据安全的好方法吗

另外,是否有可以在VB6和.NET之间共享的加密方法? 例如:

加密字符串将使用VB6应用程序写入数据库,但如果可能,还需要使用.net framework在c.net应用程序中读取并解密该值


谢谢

是的,像这样的算法是相当标准的,只要你使用相同的密钥,应该绝对没有问题。

是的,像这样的算法是相当标准的,只要你使用相同的密钥,应该绝对没有问题。

你看过System.Security.Cryptography了吗


我想看看AesCryptoServiceProvider。

你看过System.Security.Cryptography了吗


我想看看AesCryptoServiceProvider。

与其将加密/解密工作放在应用程序端,也许您可以使用Transact-SQL的加密功能处理数据库中的安全性?毕竟,两个应用程序都将连接到同一个数据库。

与其将加密/解密工作放在应用程序端,不如使用Transact-SQL的加密功能来处理数据库中的安全性?毕竟,两个应用程序都将连接到同一个数据库。

我的第一个想法是使用内置于Microsoft操作系统的CryptoAPI。这将为您提供VB6和C开发平台之间的共同基础效果

这里有一些快速脏的示例代码:


这是解释如何在C中实现这一点的众多网站之一:

我的第一个想法是使用内置的CryptoAPI,它内置于Microsoft操作系统中。这将为您提供VB6和C开发平台之间的共同基础效果

这里有一些快速脏的示例代码:


这是解释如何在C中实现这一点的众多站点之一:

您可以尝试VBCorLib,它支持与.NET中相同的加密类。VBCorLib中的加密类提供了与.NET类几乎相同的API,因此在两个平台之间执行加密/解密的代码非常相似


您可以尝试VBCorLib,它支持与.NET中相同的加密类。VBCorLib中的加密类提供了与.NET类几乎相同的API,因此在两个平台之间执行加密/解密的代码非常相似


这听起来很简单,不过您需要评估DBA是否能够解密密码,以及这是否有风险。有时,您将加密放在应用程序而不是数据库中,以分离DBA有权访问的信息。您还需要确保数据库驱动程序加密流量或使用专用接口。这是一个好主意。不幸的是,我使用的数据库版本不支持T-SQL中的加密功能。@dretzlaff17-您使用的是什么数据库?SQL Server 2000?是的,我正在使用SQL Server 2000-MSDeth这听起来很简单,不过您需要评估DBA是否能够解密密码,以及这是否有风险。有时,您将加密放在应用程序而不是数据库中,以分离DBA有权访问的信息。您还需要确保数据库驱动程序加密流量或使用专用接口。这是一个好主意。不幸的是,我使用的数据库版本不支持T-SQL中的加密功能。@dretzlaff17-您使用的是什么数据库?SQL Server 2000?是的,我使用的是SQL Server 2000-MSDE+1。我建议编写一个C组件,将.Net加密内容公开给VB6。就像这样,我接受这个基于MarkJ评论的答案。构建一个可由COM包装并可由VB6使用的.net组件可确保两个应用程序使用相同的代码。感谢所有人的投入。+1。我建议编写一个C组件,将.Net加密内容公开给VB6。就像这样,我接受这个基于MarkJ评论的答案。构建一个可由COM包装并可由VB6使用的.net组件可确保两个应用程序使用相同的代码。谢谢大家的意见。你的问题在推理上有一个根本性的缺陷:加密不能确保敏感数据的安全。加密确保对敏感数据进行加密。安全数据和加密数据不是一回事,就像一辆锁着的车就是一辆安全的车一样。锁着的汽车每天都会在高速公路上被偷、被闯入、被炸毁或被砸碎。为了确保数据的安全,您必须做的第一件事是找出对用户的所有威胁,然后逐一缓解这些威胁;可能性是
非常好,只有一小部分的威胁会通过加密得到缓解。被锁的汽车会。。。每天都在高速公路上撞坏WTF?@!这家伙只是在问AES:-@wqw:我的观点是锁车并不能保护它免受许多形式的意外或故意损坏。使用加密锁定数据也不能保护数据免受意外或故意损坏。如果目标是确保用户数据的安全,那么您必须声明您正在保护数据的安全所面临的威胁。大多数威胁都无法通过加密来缓解;如果真正的威胁是其中之一,那么加密会使情况变得更糟,而不是更好。这是一个相当愤世嫉俗的推理,最终的结论是不存在安全汽车。纯理论上安全的车必须是Lim[locked->inf]车,这当然对OP没有实际好处,除了教育性:-谢谢你的评论Eric,但我关心的问题的主要部分是,我可以打赌在哪里执行两个用不同语言编写的不同应用程序使用的相同加密方法。我不是问加密数据和安全数据是否相同。你的问题在推理上有一个根本缺陷:加密不能确保敏感数据的安全。加密确保对敏感数据进行加密。安全数据和加密数据不是一回事,就像一辆锁着的车就是一辆安全的车一样。锁着的汽车每天都会在高速公路上被偷、被闯入、被炸毁或被砸碎。为了确保数据的安全,您必须做的第一件事是找出对用户的所有威胁,然后逐一缓解这些威胁;很有可能只有一小部分威胁会通过加密得到缓解。。。每天都在高速公路上撞坏WTF?@!这家伙只是在问AES:-@wqw:我的观点是锁车并不能保护它免受许多形式的意外或故意损坏。使用加密锁定数据也不能保护数据免受意外或故意损坏。如果目标是确保用户数据的安全,那么您必须声明您正在保护数据的安全所面临的威胁。大多数威胁都无法通过加密来缓解;如果真正的威胁是其中之一,那么加密会使情况变得更糟,而不是更好。这是一个相当愤世嫉俗的推理,最终的结论是不存在安全汽车。纯理论上安全的车必须是Lim[locked->inf]车,这当然对OP没有实际好处,除了教育性:-谢谢你的评论Eric,但我关心的问题的主要部分是,我可以打赌在哪里执行两个用不同语言编写的不同应用程序使用的相同加密方法。我不是在问加密数据和安全数据是否相同。Eeek-1但没有评论。。。为什么是仇恨谢谢你的评论。我投票支持你花时间向我提供信息,作为我问题的可能解决方案。我不知道为什么有人会毫无理由地否决这一点。Eeek-1但没有评论。。。为什么是仇恨谢谢你的评论。我投票支持你花时间向我提供信息,作为我问题的可能解决方案。我不知道为什么有人会毫无理由地否决这一点。