diff options
author | 2023-08-16 23:43:45 +0200 | |
---|---|---|
committer | 2023-08-16 21:43:45 +0000 | |
commit | c58d6e34232e199406b39cb258e8106dc6b2f9c1 (patch) | |
tree | 3a21bcc5de88be2e260a852bf7d99acdd7b42da1 /src/tools/string-obfuscator/string-obfuscator.vue | |
parent | f235dcd6c1aeaf92ad2e1e7125aac76367e85345 (diff) | |
download | it-tools-c58d6e34232e199406b39cb258e8106dc6b2f9c1.tar.gz it-tools-c58d6e34232e199406b39cb258e8106dc6b2f9c1.tar.zst it-tools-c58d6e34232e199406b39cb258e8106dc6b2f9c1.zip |
feat(new tool): string obfuscator (#575)
Diffstat (limited to 'src/tools/string-obfuscator/string-obfuscator.vue')
-rw-r--r-- | src/tools/string-obfuscator/string-obfuscator.vue | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/tools/string-obfuscator/string-obfuscator.vue b/src/tools/string-obfuscator/string-obfuscator.vue new file mode 100644 index 0000000..0f11fca --- /dev/null +++ b/src/tools/string-obfuscator/string-obfuscator.vue @@ -0,0 +1,47 @@ +<script setup lang="ts"> +import { useObfuscateString } from './string-obfuscator.model'; +import { useCopy } from '@/composable/copy'; + +const str = ref('Lorem ipsum dolor sit amet'); +const keepFirst = ref(4); +const keepLast = ref(4); +const keepSpace = ref(true); + +const obfuscatedString = useObfuscateString(str, { keepFirst, keepLast, keepSpace }); +const { copy } = useCopy({ source: obfuscatedString }); +</script> + +<template> + <div> + <c-input-text v-model:value="str" raw-text placeholder="Enter string to obfuscate" label="String to obfuscate:" clearable multiline /> + + <div mt-4 flex gap-10px> + <div> + <div>Keep first:</div> + <n-input-number v-model:value="keepFirst" min="0" /> + </div> + + <div> + <div>Keep last:</div> + <n-input-number v-model:value="keepLast" min="0" /> + </div> + + <div> + <div mb-5px> + Keep spaces: + </div> + <n-switch v-model:value="keepSpace" /> + </div> + </div> + + <c-card v-if="obfuscatedString" mt-60px max-w-600px flex items-center gap-5px font-mono> + <div break-anywhere text-wrap> + {{ obfuscatedString }} + </div> + + <c-button @click="copy"> + <icon-mdi:content-copy /> + </c-button> + </c-card> + </div> +</template> |