解密初始密码

This commit is contained in:
binbin_pan 2024-06-04 14:01:19 +08:00
parent a14014831a
commit bc2ee69dd7
1 changed files with 2 additions and 37 deletions

View File

@ -429,7 +429,7 @@ import { getToken } from '@/utils/auth'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { validPassword } from '@/utils/validate'
import { encrypt } from '@/utils/jsencrypt'
import { decrypt } from '@/utils/jsencrypt'
export default {
name: 'User',
@ -588,7 +588,7 @@ export default {
this.getList()
this.getDeptTree()
this.getConfigKey('sys.user.initPassword').then(response => {
this.initPassword = encrypt(response.msg)
this.initPassword = decrypt(response.msg)
})
},
methods: {
@ -821,41 +821,6 @@ export default {
submitFileForm() {
this.$refs.upload.submit()
},
//
async encryptData(data, keyStr) {
const keyUint8 = new TextEncoder().encode(keyStr)
const key = await crypto.subtle.importKey('raw', keyUint8, { name: 'AES-CBC', length: 256 }, false, ['encrypt'])
const iv = crypto.getRandomValues(new Uint8Array(16))
const cipherTextBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, key, new TextEncoder().encode(data))
const combined = new Uint8Array(iv.length + cipherTextBuffer.byteLength)
combined.set(iv, 0)
combined.set(new Uint8Array(cipherTextBuffer), iv.length)
return btoa(String.fromCharCode.apply(null, combined))
},
//
async decryptData(encryptedData, keyStr) {
const keyUint8 = new TextEncoder().encode(keyStr)
const encryptedBytes = Uint8Array.from(atob(encryptedData), c => c.charCodeAt(0))
const key = await crypto.subtle.importKey(
'raw',
keyUint8,
{ name: 'AES-CBC', length: 256 }, // 使CBC使
false,
['decrypt']
)
const decryptedData = await crypto.subtle.decrypt(
{ name: 'AES-CBC', iv: new Uint8Array(16) }, // 使IV
key,
encryptedBytes
)
return new TextDecoder().decode(decryptedData)
},
},
}
</script>