mirror of
https://github.com/fzxx/XiangYue.git
synced 2025-11-24 19:12:55 +08:00
1 line
6.8 KiB
HTML
1 line
6.8 KiB
HTML
<!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.png" type="image/x-icon"><script src="js/library/tailwind-3.4.17.js" integrity="sha512-pnvCb1LZODWEcb5Wcf9LeeEa9OaLSGqvc6NaTJvzd3qrURAa+BVjtOW3uksE3Ylx/Pqe4sQfsQoMHuVgSpmr1g==" crossorigin="anonymous"></script><link rel="stylesheet" href="css/all.min.css" integrity="sha512-Evv84Mr4kqVGRNSgIGL/F/aIDqQb7xQ2vcrdIwxfjThSH8CSR7PBEakCr51Ck+w+/U6swU2Im1vVX0SVk9ABhg==" crossorigin="anonymous"><script src="js/page.js" integrity="sha512-NSQZM20QlVKR29gRlNTuYbUVVb0e2QdLo4MzvKJTeSRATJLNtiTsWNDd7NrolyGywyBMT/uD076GEi8BEUwwQg==" crossorigin="anonymous"></script><script src="js/web.js" integrity="sha512-fvbL24V2YjJZqtSFnuR7NFHMuQaItsVGgx29C9xJ5k9EJfejSI5meyjHDNvFIQ/dKxDewL4lqNQOnTfPKUoYcw==" crossorigin="anonymous"></script><script src="js/utils.js" integrity="sha512-Q8mYfcaOMFVfA9m8qlugvKA8BptlY4bn+uabX6BqU4WxhKPSlfOWLQZbtJ/wBI1BsNCO9/QJGzML4J07to/onQ==" crossorigin="anonymous"></script><script src="js/encryption-method-1.js" integrity="sha512-oHqUelRbEuVrG7c2eUPHVJF5jur4lkCrcNnaP7FR52jaWoOANHVFXiQ+4qvSDonabf5sIGyFriIb9ldambv3bQ==" crossorigin="anonymous" async></script><script src="js/encryption-method-2.js" integrity="sha512-+6quYHLsxlSpAFK4D41g6e1meGHp1h4XJ/7T7Inn8OvoEOwCzOscR2NliPp5oDjiHKtbTJH0d4BwotU0jBeEOA==" crossorigin="anonymous" async></script><script src="js/library/sodium-sumo-0.7.15.js" integrity="sha512-FUcD8UEHYXZMMs7ntP91r2jXNLxUVffMxXkYjnzq35D4+xQ4+EICZ4jTQEyzPkWjYEg5ruirsvFmxLNPqfMZzQ==" crossorigin="anonymous" async></script><script src="js/library/pako-2.1.0.js" integrity="sha512-uPCjHF9pdwctbucO0XsRRCwWCE/Fm9APG+p+nt+Fn0TK/5KU4RuHirdWE1i7SKDsyQcH/FyswdDGgIf9da8VgQ==" crossorigin="anonymous" async></script><script src="js/mapping-mode-1.js" integrity="sha512-ngHSUfAjRWcljhlUS5DAKqf+ajnmK5B1WKqM9MkqKCCJt8YPmbFMm/iGs4lNyCW279Xu+91K4dvXXMuvFzrrzQ==" crossorigin="anonymous" async></script><script src="js/mapping-mode-2.js" integrity="sha512-wTnLZDTMh9Y4k3AMqwcw/+xgIvHKH2rt2/lXekrucZzf1MnEfGTF8ss9dD1Lnkb/EXor6OVWqgxKEJhwvAzeCg==" crossorigin="anonymous" async></script><script src="js/mapping-mode-3.js" integrity="sha512-3jC6XzQSsExz8vJQhqmTibIesYzawIO7c/RCQrJ4TQapmSSGOK8d13pOa4KMw6VofomC+0HkRYVKiNhd9cppRA==" crossorigin="anonymous" async></script><script src="js/mapping-mode-4.js" integrity="sha512-W0jsw7QQrxrGj8E3KQ5hwDsBV8hCT1mvGS/Q2ciNmJWFWB7KrHPx3MtO6cggwm7eyyKcePsJ1QkSe7bN91D7aA==" crossorigin="anonymous" async></script><script src="js/mapping-mode-5.js" integrity="sha512-aluxdx+cGfg3n2KU3HMzm9H+xdQ4wMEI5TaPVmbgSOm88uxhEXGtM4ojVeoQIt/M0RQV+Cx2iwTn7YTUuPgWLw==" crossorigin="anonymous" async></script><script src="js/mapping-mode-6.js" integrity="sha512-JT0MYvaOdBnCb7jfN0Jo/9HP2OTGYGxLDR36TstbWLpt/jDuyXuf9AwTmzexcca/AE6GpYFG5SZD++QNL0BkIA==" crossorigin="anonymous" async></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; } .content-auto { content-visibility: auto; } .bg-gradient { background-image: linear-gradient(to right, var(--tw-gradient-stops)); } .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; } .scrollbar-thin::-webkit-scrollbar { width: 6px; } .scrollbar-thin::-webkit-scrollbar-track { @apply bg-gray-100 dark:bg-gray-700 rounded-full; } .scrollbar-thin::-webkit-scrollbar-thumb { @apply bg-gray-300 dark:bg-gray-500 rounded-full; } .scrollbar-thin::-webkit-scrollbar-thumb:hover { @apply 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; } .card-hover-effect: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 { @apply mt-1.5; } .key-section-header { @apply flex justify-between items-center; } /* 文本框容器样式 */ .textbox-container { @apply relative; } .textbox-action-btn { @apply absolute bottom-2 right-2 p-1 text-gray-400 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-200 z-10; } .textbox-action-btn.right-8 { right: 2rem; /* 非对称密文框按钮间距 */ } body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } </style></head><body class="flex flex-col dark:text-white transition-colors duration-300 min-h-screen"></body></html> |