king
2024-02-03 8acfcd6e349ef2d1b797a7483940a2f3f2dfcfe6
src/utils/utils.js
@@ -1,6 +1,7 @@
import React from 'react'
import moment from 'moment'
import md5 from 'md5'
// import NodeRSA from 'node-rsa'
const formatKeys = [
  { key: 'select', value: ' msltk ' },
@@ -119,10 +120,8 @@
   * @description sql加密
   * @return {String}   value
   */
  static formatOptions (value) {
  static formatOptions (value, exec_type = '') {
    if (!value) return ''
    let salt = 'minKe' // 盐值
    value = value.replace(/\n/ig, ' \n ')
    // 替换关键字
@@ -136,13 +135,43 @@
    if (window.GLOB.externalDatabase !== null) {
      value = value.replace(/@db@/ig, window.GLOB.externalDatabase)
    }
    // encode编码(中文字符超出base64加密范围)
    value = window.btoa(window.encodeURIComponent(value))
    // 插入字符
    let index = Math.floor(value.length / 2)
    value = value.slice(0, index) + salt + value.slice(index)
    // base64加密
    value = window.btoa(value)
    // if (exec_type === 'x') {
    //   // let publicKey = `-----BEGIN PUBLIC KEY-----
    //   //   MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwGxFURiCrk5a2xfWuM3W
    //   //   2lkS3ioZhUFXpkK1inMivItsA/J8MTaBB3EAVxC29xdVCU+xOzs512PuD2b1sjzX
    //   //   jwO6kx433NtB2okqGiP4RkzhEJHwdyc9dPUKdjirDznUWI9R7WayAf5Z4COhMsj2
    //   //   IbkyJgkb6Ivn0UgU0GSWc92HqJJmnb3Ti2gk6A2+oybz2RE3+xB/yOaNu3xav4yi
    //   //   xxo6harVLNBiaU+D7aDed1W3kE20gLOnEAvcLMjpe3n/QvF5RtELsm3T+vH3TIT2
    //   //   GI9+8cT20NZ2d7i41+j/AQZiPJNS3MVmc3aIhuyCOsNPLmvbZZi1KPSJIqkCwdEg
    //   //   mQIDAQAB
    //   //   -----END PUBLIC KEY-----`
    //   // let pubKey = new NodeRSA(publicKey, 'pkcs8-public')
    //   // value = window.encodeURIComponent(value)
    //   // value = pubKey.encrypt(value, 'base64')
    //   // const priKey = new NodeRSA(privateKey, 'pkcs8-private')
    //   // const res = priKey.decrypt(value, 'utf8')
    // } else {
      // encode编码(中文字符超出base64加密范围)
      // let str = window.encodeURIComponent(value)
      // if (str.length % 3 === 1) {
      //   str += '%2F*123*%2F'
      // } else if (str.length % 3 === 2) {
      //   str += '%2F*12*%2F'
      // }
      value = window.btoa(window.encodeURIComponent(value))
      // 插入字符
      let salt = 'minKe' // 盐值
      let index = Math.floor(value.length / 2)
      value = value.slice(0, index) + salt + value.slice(index)
      // base64加密
      value = window.btoa(value)
    // }
    return value
  }