MyCat笔记(六):MyCat 明文密码安全性问题

x33g5p2x  于2021-12-19 转载在 其他  
字(1.6k)|赞(0)|评价(0)|浏览(364)

     在 schema.xml 配置文件中,我们在配置 物理库 信息时,会对 url、user、password 等进行配置,但是这里用到的 password 会使用到明文密码。在线上环境中,如果我们使用这种明文密码,显然是不安全的。

     针对这种问题,MyCat 为我们提供了解决方案。我们进入 mycat/lib 目录下,此时我们会看到一个 Mycat-server-xxxxxx 开头的jar 包。

通过使用如下命令,便能够完成对密码的加密操作。
命令:java -cp Mycat-server-1.6.7.3-release.jar io.mycat.util.DecryptUtil 1:hostM1:root:123456

这里的 1 指什么呢?hostM1又是指什么呢?接下来详细简解

其中 0:user:password是加密字符串,有两种格式:
1.dataHost加密格式:

  1:hostM1:root:123456

**    注释:**

      1代表是dataHost加密

      hostM1是<writeHost host="hostM1" 

      root是user="root"

     123456是 password=明文密码(123456)

**    对应 writeHost 配置:**

  <writeHost host="hostM1" url="localhost:3306" user="root" 
                       password="BpkNIjF7LfzS1C76HT7B1bJgmGIDtPihqIvHBlC92L1IFqsMfoJEMk1EkxSzjaJstdAp5w=="                                    usingDecrypt="1">
          <!-- can have multi read hosts -->
    </writeHost>

0.mycat用户登录密码加密格式

   0:root:123456

**     注释:**

        0代表mycat用户登录密码加密

**    对应 user 配置:**
           <user name="root" defaultAccount="true">
                <property name="usingDecrypt">1</property>
                <property name="password">d6D+pOmkuUoY09p4/aivwMsScLa7zfjIwAxvkEhr3v7en06mEXoX==</property>
                <property name="schemas">TESTDB</property>
           </user>   

注意!!!

   使用密文,需要添加 usingDecrypt="1",改属性默认值为0

   <writeHost host="hostM1" url="192.168.204.201:3306" user="root"  password="明文密码">
          <!-- can have multi read hosts -->
          <readHost host="hostS1" url="192.168.204.202:3306" user="root" password="密文密码" usingDecrypt="1"/>
      </writeHost>

加密后的密码,如下图所示

接下来,你便可以使用加密后的密码 + usingDecrypt 属性 来使用密文密码了。

MyCat 明文密码安全性问题,介绍到此为止

如果本文对你有所帮助,那就给我点个赞呗 ^_^ 

End

相关文章