Files
XiangYue/index.html

1 line
20 KiB
HTML
Raw Normal View History

2025-08-27 18:56:55 +08:00
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>想曰 - Want To Say</title><meta name="description" content="想曰 - 文本加密让你想曰就曰,曰你所想。 | Want to say - Text encryption allows you to express what you want to say and convey your thoughts."><meta name="keywords" content="想曰, 文本加密, 聊天, 开源, 安全, 加密, 级联算法, 密文"><link rel="icon" href="favicon.ico" type="image/x-icon"><script src="js/library/tailwind-3.4.17.js"></script><link rel="stylesheet" href="css/all.min.css"><script src="js/web.js"></script><script src="js/utils.js"></script><script src="js/encryption-method-1.js"></script><script src="js/library/sodium-sumo-0.7.15.js"></script><script src="js/library/pako-2.1.0.js"></script><script src="js/mapping-mode-1.js"></script><script src="js/mapping-mode-2.js"></script><script src="js/mapping-mode-3.js"></script><script src="js/mapping-mode-4.js"></script><script src="js/mapping-mode-5.js"></script><script>document.addEventListener('keydown', e => {if (e.key === 'F12' || e.ctrlKey && e.shiftKey && e.key === 'I' || e.ctrlKey && e.key === 's' || e.ctrlKey && e.key === 'u' || e.shiftKey && e.key === 'F10') {e.preventDefault(); e.stopPropagation();} }, true); document.addEventListener('contextmenu', e => {if (e.target.tagName === 'IMG') {e.preventDefault(); e.stopPropagation();} }, true);</script><script> tailwind.config = { darkMode: 'class', theme: { extend: { colors: { primary: '#3B82F6', secondary: '#10B981', danger: '#EF4444', dark: '#1E293B', light: '#F8FAFC' } } } } </script><style type="text/tailwindcss"> /* */ body { @apply bg-gray-50 dark:bg-gray-900; } @layer utilities { .content-auto { content-visibility: auto; } .bg-gradient { @apply bg-gradient-to-r; } .text-shadow { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .transition-all-300 { transition: all 0.3s ease; } .scrollbar-thin { scrollbar-width: thin; &::-webkit-scrollbar { width: 6px; } &::-webkit-scrollbar-track { @apply bg-gray-100 dark:bg-gray-700 rounded-full; } &::-webkit-scrollbar-thumb { @apply bg-gray-300 dark:bg-gray-500 rounded-full hover:bg-gray-400 dark:hover:bg-gray-400; } } .min-h-40 { min-height: 10rem; } .card-spacing { margin-bottom: 1rem; } /* */ .theme-toggle-btn { @apply rounded-full w-10 h-10 flex items-center justify-center hover:bg-gray-100 dark:hover:bg-gray-700 transition-all duration-300; } .theme-toggle-icon { @apply text-dark dark:text-white; } /* */ .card-hover-effect { transition: all 0.3s ease; will-change: box-shadow; &:hover { box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } } .card-glass-effect { background-color: rgba(255, 255, 255, 0.8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid transparent; } .dark .card-glass-effect { background-color: rgba(30, 41, 59, 0.8); border-color: rgba(30, 41, 59, 0.18); } /* */ .textarea-optimized { content-visibility: auto; white-space: pre-wrap; word-break: break-word; will-change: contents; } /* */ .card-container { position: relative; width: 100%; margin-bottom: 10px; padding: 4px; } .card-wrapper { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .card { width: 100%; border-radius: 0.75rem; } .card-front { display: block; } .card-back { display: none; } .card-container.flipped .card-front { display: none; } .card-container.flipped .card-back { display: block; } /* */ .key-pair-section { @apply mb-1.5; } .key-pair-header { @apply mb-2 flex justify-between items-center; } .key-pair-container { @apply space-y-2; } .key-input { @apply px-3 py-2 text-sm; } .key-label { @apply block text-sm font-medium text-gray-600 dark:text-gray-300 mb-1; } .key-generate-btn { @apply text-sm px-2 py-1; } /* */ #generate-keys-1, #generate-keys-2 { @apply w-28; } .asymmetric-card { padding: 0.6rem !important; } .key-pairs-wrapper