useBase64.tsx 1011 B

123456789101112131415161718192021222324252627282930
  1. function useBase64() {
  2. function encrypt(props: { key: string, value: string }) {
  3. console.log(props.key)
  4. sessionStorage.setItem(
  5. btoa(props.key),
  6. btoa(
  7. props.value.search(/[\u4e00-\u9fa5]/ig) !== -1 ?
  8. props.value.replace(/([\u4e00-\u9fa5])*/, escape((props.value.match(/[\u4e00-\u9fa5]/ig) as string[]).join(''))) : props.value
  9. )
  10. )
  11. localStorage.setItem(btoa(props.key),
  12. btoa(props?.value)?.replace(/=/g, '')?.split('')?.reverse()?.join('')
  13. )
  14. }
  15. function decode(key: string) {
  16. let str = sessionStorage.getItem(btoa(key)) || ''
  17. str = unescape(atob(str))
  18. return str
  19. }
  20. return { encrypt, decode }
  21. }
  22. function jm() {
  23. let t = new Date().getTime()
  24. let d = new Date().getDate()
  25. let b = btoa(String(t / d)).replace(/=/g, '').split('').reverse().join('')
  26. return b
  27. // let a = atob(b.split('').reverse().join(''))*d
  28. }
  29. export { useBase64, jm }