这个问题不是一般人能回答的!关于VB操作阿里云mysql云数据库

pigpal 2024-01-24 16:09:29

有请大侠!!!

VB6使用ODBC 3.51连接阿里云的mysql云数据库,正在用VB6做一个线上管理系统,那么问题来了:

我把连接云数据库的server、user、password、DataBase这些重要数据写在哪里?是写死到生成的exe文件中吗?我觉得不应该是这样操作,那应该如何设计呢?

...全文
653 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
msmvc 2024-03-29
  • 打赏
  • 举报
回复

加密保存在本地文件中,加密时使用salt, salt值写在程序中

hitzsf 2024-01-24
  • 打赏
  • 举报
回复

有个有趣的加密方式 bcrypt
不需要解密后的数据就能比较

高菘菘 2024-01-24
  • 打赏
  • 举报
回复 2

在VB6中,将数据库连接信息(如服务器地址、用户名、密码、数据库名等)硬编码到程序中并不是最佳实践。这样做有几个潜在的问题:

  • 安全性问题:硬编码的敏感信息容易被恶意用户查看或修改。
    维护性问题:如果数据库信息发生变化(例如,用户名或密码更改),您需要在应用程序中手动进行更改,这很不方便。
    灵活性问题:每个使用这个应用程序的用户都需要有相同的数据库凭据,这限制了应用程序的灵活性。
    以下是一些更好的做法:
  1. 使用配置文件
    您可以创建一个单独的配置文件来存储这些敏感信息。这个配置文件可以是一个纯文本文件、一个XML文件或者任何其他格式的文件,只要它可以在程序运行时被读取。

例如,您可以创建一个名为** config.ini **的文件,ini内容如下:



Server=your_server_address  
User=your_username  
Password=your_password  
Database=your_database_name

然后在程序中读取这个文件:


vbscript
Private Sub ReadConfigFile()  
    Dim file As String  
    file = "config.ini"  
    Open file For Input As #1  
    Do While Not EOF(1)  
        Line Input #1, line$  
        If Left(line$, 5) = "[Database]" Then  
            Server = Mid(line$, 8, InStr(line$, "=") - 8)  
            User = Mid(line$, InStr(line$, "=")+1, InStr(line$, ",") - InStr(line$, "="))  
            Password = Mid(line$, InStr(line$, ",")+1, InStr(line$, "=") - InStr(line$, ","))  
            Database = Mid(line$, InStr(line$, "=")+1)  
        End If  
    Loop  
    Close #1  
End Sub
  1. 使用环境变量或注册表项
    您也可以将这些信息存储在环境变量或注册表项中。这种方法的好处是,这些信息可以在程序运行之前设置,并且对于程序的其他用户来说是隐藏的。然而,这种方法需要更复杂的代码来读取和更新这些设置。

  2. 使用加密的配置文件或数据库连接字符串
    如果安全性是您最关心的问题,您可以使用加密的配置文件或数据库连接字符串。这样,即使配置文件被盗,攻击者也很难从中获取敏感信息。这需要额外的工具或库来加密和解密配置文件。

总的来说,将数据库连接信息存储在外部文件(如配置文件)中,并在程序运行时读取,是一种更安全、更灵活的方法。这不仅增加了应用程序的安全性,也使得更新这些敏感信息更加容易。

pigpal 2024-01-24
  • 举报
回复
@高菘菘 您的回复很全面,我的判断与您基本一致,我同意“使用加密的配置文件或数据库连接字符串”的方式,我准备把加密过关键信息的字符串以配置文件ini方式放在云存储器上,在程序中写入解密算法,然后连接,我想继续问的问题是:在程序中解密后得到的字符串又还原成了真实的字符串,这个字符串是否也有被恶意截获的可能?
高菘菘 2024-01-24
  • 举报
回复 1
@pigpal 确实有风险,在程序中解密后得到的字符串确实可能面临被恶意截获的风险,特别是在网络传输或存储过程中。为了降低这种风险,你可以试试数据加密:就一般的加密算法包括AES、DES、3DES等。我以前在区块链接触到了哈希,然后我用的是哈希加密
pigpal 2024-01-24
  • 举报
回复
@高菘菘 您所说的数据加密,是不是我只需要把数据库的密码用哈希加密即可?还是说我所有上传的数据库内容都加密处理?
5条回复
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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