aboutsummaryrefslogtreecommitdiff
path: root/src/tools/string-obfuscator/string-obfuscator.vue
diff options
context:
space:
mode:
authorGravatar Corentin THOMASSET <corentin.thomasset74@gmail.com> 2023-08-16 23:43:45 +0200
committerGravatar GitHub <noreply@github.com> 2023-08-16 21:43:45 +0000
commitc58d6e34232e199406b39cb258e8106dc6b2f9c1 (patch)
tree3a21bcc5de88be2e260a852bf7d99acdd7b42da1 /src/tools/string-obfuscator/string-obfuscator.vue
parentf235dcd6c1aeaf92ad2e1e7125aac76367e85345 (diff)
downloadit-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.vue47
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&nbsp;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>