encrypt.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Base64 from 'crypto-js/enc-base64'
  2. import UTF8 from 'crypto-js/enc-utf8'
  3. import { JSEncrypt } from 'jsencrypt'
  4. import md5 from 'crypto-js/md5'
  5. import CryptoJS from 'crypto-js'
  6. export function encodeByBase64(txt) {
  7. return UTF8.parse(txt).toString(Base64)
  8. }
  9. export function decodeByBase64(txt) {
  10. return Base64.parse(txt).toString(UTF8)
  11. }
  12. export function encryptByMd5(txt) {
  13. return md5(txt).toString()
  14. }
  15. const publicKey
  16. = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAM51dgYtMyF+tTQt80sfFOpSV27a7t9u'
  17. + 'aUVeFrdGiVxscuizE7H8SMntYqfn9lp8a5GH5P1/GGehVjUD2gF/4kcCAwEAAQ=='
  18. export function encryptByRsa(txt) {
  19. const encryptor = new JSEncrypt()
  20. encryptor.setPublicKey(publicKey) // 设置公钥
  21. return encryptor.encrypt(txt) // 对数据进行加密
  22. }
  23. const defaultKeyWork = 'XwKsGlMcdPMEhR1B'
  24. export function encryptByAes(word, keyWord = defaultKeyWork) {
  25. const key = CryptoJS.enc.Utf8.parse(keyWord)
  26. const arcs = CryptoJS.enc.Utf8.parse(word)
  27. const encrypted = CryptoJS.AES.encrypt(arcs, key, {
  28. mode: CryptoJS.mode.ECB,
  29. padding: CryptoJS.pad.Pkcs7,
  30. })
  31. return encrypted.toString()
  32. }