Options
All
  • Public
  • Public/Protected
  • All
Menu

加密辅助类

Hierarchy

Index

Constructors

constructor

Properties

Static enckey

enckey: string = "89d3338d697f43a69b5089358010b769"

密钥

Methods

Static Base64Decode

  • Base64Decode(base64Str: string): any
  • 解码base64字符串

    Parameters

    • base64Str: string

      base64字符串

    Returns any

    返回解码的字符串

Static Base64Encode

  • Base64Encode(str: string): any
  • 编码base64字符

    Parameters

    • str: string

      字符串

    Returns any

    返回编码后的base64字符串

Static aesDecode

  • aesDecode(str: string): string
  • 解密base64 格式的aes密文字符串 注意:必须是 没有04开头.

    Parameters

    • str: string

      需要解密的字符串

    Returns string

    返回解密后的字符串

Static aesEncode

  • aesEncode(str: string): string
  • aes加密字符串

    Parameters

    • str: string

      字符串

    Returns string

    返回加密后的base64字符串

Static decodeFile

  • 解密文件

    Parameters

    • file: IUploadFile

      文件数组

    • password: string

      密钥

    • showLoading: boolean = true

      是否显示加载中 默认值:true

    Returns Promise<IUploadFile>

    异步对象Promise

    EncryptUtils.decodeFile(uploadFile, EncryptUtils.enckey).then((item) => {
    console.info(item.blobFileName)
    })
    

Static encodeFile

  • encodeFile(file: any, password: string): Promise<Blob>
  • 加密文件

    Parameters

    • file: any

      文件对象

    • password: string

      密钥

    Returns Promise<Blob>

    异步对象Promise

     let formData = new FormData();
     let blob = await this.zipFile(file, 'xxxx-yyyy-xxxx-zzzz')
     formData.append('fieldName', blob, file.name);
    

Private Static getFileBlob

  • getFileBlob(url: string): Promise<unknown>
  • 获取文件的二进制

    Parameters

    • url: string

      文件路径

    Returns Promise<unknown>

    异步对象Promise

Static getInstance

  • getInstance<T>(): T
  • Type parameters

    • T: {}

    Returns T

Static md5Encode

  • md5Encode(str: string): string
  • md5编码字符串

    Parameters

    • str: string

      字符串

    Returns string

    返回加密后的字符串

Static sm2Decode

  • sm2Decode(str: string, privateKey: string): string
  • sm2(国密算法 非对称) 解密字符串

    Parameters

    • str: string

      需要解密的字符串

    • privateKey: string

      私钥

    Returns string

    返回解密后的字符串

Static sm2Encode

  • sm2Encode(str: string, publicKey: string): string
  • sm2(国密算法 非对称) 加密字符串 注意:结果没有04开头.

    Parameters

    • str: string

      字符串

    • publicKey: string

      公钥

    Returns string

    返回加密后的字符串

Static sm2GenerateKeys

  • 生成一对sm2 公/私钥

    Returns KeyPairHex

    返回 公/私钥16进制字符串的对象 {privateKey: string;publicKey: string;}

Static sm2Signature

  • sm2Signature(str: string, privateKey: string): string
  • sm2(国密算法 非对称) 签名

    Parameters

    • str: string

      需要签名的内容

    • privateKey: string

      私钥

    Returns string

    返回签名的字符串

Static sm2VerifySignature

  • sm2VerifySignature(str: string, signHex: string, publicKey: string): boolean
  • sm2(国密算法 非对称) 校验签名

    Parameters

    • str: string

      需要签名的内容

    • signHex: string

      签名字符串

    • publicKey: string

      私钥

    Returns boolean

    返回true 签名校验通过,则反之

Static sm3Decode

  • sm3Decode(str: string): string
  • sm3(国密算法) 校验签名 类似 MD5

    Parameters

    • str: string

      需要加密的字符串

    Returns string

    返回加密后的字符串

Static sm4Decode

  • sm4Decode(str: string, key: string): string
  • sm2(国密算法 对称) 类似ase 解密密字符串

    Parameters

    • str: string

      待解密字符串

    • key: string

      密钥

    Returns string

    返回解密后的字符串

    const encryptData = '0e395deb10f6e8a17e17823e1fd9bd98a1bff1df508b5b8a1efb79ec633d1bb129432ac1b74972d
    const key = '0123456789abcdeffedcba9876543210' // 可以为 16 进制串或字节数组,要求为 128 比特
    let decryptData = sm4.decrypt(encryptData, key) // 解密,默认输出 utf8 字符串,默认使用 pkcs#7 填充(传
    let decryptData = sm4.decrypt(encryptData, key, {padding: 'none'}) // 解密,不使用 padding
    let decryptData = sm4.decrypt(encryptData, key, {padding: 'none', output: 'array'}) // 解密,不使用 p
    let decryptData = sm4.decrypt(encryptData, key, {mode: 'cbc', iv: 'fedcba98765432100123456789abcdef'}) // 解密,cbc 模式
    

Static sm4Encode

  • sm4Encode(str: string, key: string): string
  • sm2(国密算法 对称) 类似ase 加密字符串

    Parameters

    • str: string

      待加密字符串

    • key: string

      密钥

    Returns string

    返回加密后的字符串

    const msg = 'hello world!' // 可以为 utf8 串或字节数组
    const key = '0123456789abcdeffedcba9876543210' // 可以为 16 进制串或字节数组,要求为 128 比特
    let encryptData = sm4.encrypt(msg, key) // 加密,默认输出 16 进制字符串,默认使用 pkcs#7 填充(传 pkcs#
    let encryptData = sm4.encrypt(msg, key, {padding: 'none'}) // 加密,不使用 padding
    let encryptData = sm4.encrypt(msg, key, {padding: 'none', output: 'array'}) // 加密,不使用 padding,
    let encryptData = sm4.encrypt(msg, key, {mode: 'cbc', iv: 'fedcba98765432100123456789abcdef'}) // 加密,cbc 模式
    

Private Static unZipFile

  • unZipFile(url: string, password: string, showLoading?: boolean): Promise<unknown>
  • 解压文件

    Parameters

    • url: string

      文件的url

    • password: string

      密钥

    • showLoading: boolean = true

      是否显示加载中 默认值:true

    Returns Promise<unknown>

    异步对象Promise

Generated using TypeDoc