27 lines
855 B
JavaScript
27 lines
855 B
JavaScript
import sm4_encrypt_worker from '@/worker/sm4_encrypt?worker'
|
|
import sm4_decrypt_worker from '@/worker/sm4_decrypt?worker'
|
|
|
|
const SM4 = {
|
|
encrypt: async (key, data) => {
|
|
const encryptedBytes = await new Promise((resolve) => {
|
|
const sm4Worker = new sm4_encrypt_worker()
|
|
sm4Worker.onmessage = (event) => {
|
|
resolve(event.data)
|
|
}
|
|
sm4Worker.postMessage({ data, key })
|
|
})
|
|
return encryptedBytes
|
|
},
|
|
decrypt: async (key, data) => {
|
|
const decryptedBytes = await new Promise((resolve) => {
|
|
const sm4Worker = new sm4_decrypt_worker()
|
|
sm4Worker.onmessage = (event) => {
|
|
resolve(event.data)
|
|
}
|
|
sm4Worker.postMessage({ data, key })
|
|
})
|
|
return decryptedBytes
|
|
}
|
|
}
|
|
|
|
export default SM4 |