Loading...

🔐 文本加密解密工具

安全便捷的在线编码解码工具

⚙️ 选择加密方式

Base64
URL编码
HTML实体
ROT13
凯撒密码
摩斯密码
十六进制
二进制
文本反转
Unicode

📝 输入文本

✨ 输出结果

等待加密或解密操作...

📖 使用说明

1. 选择您需要的加密方式
2. 在输入框中输入文本
3. 点击"加密"或"解密"按钮
4. 点击"复制"按钮复制结果

注意:凯撒密码需要设置相同的偏移量才能正确解密。摩斯密码解密时请确保输入正确的摩斯码格式(使用空格分隔)。

: '...-..-', '@': '.--.-.' }; const reverseMorse = Object.fromEntries( Object.entries(morseCode).map(([k, v]) => [v, k]) ); // 算法选择 document.querySelectorAll('.openskil-algorithm-item').forEach(item => { item.addEventListener('click', function() { document.querySelectorAll('.openskil-algorithm-item').forEach(i => i.classList.remove('active')); this.classList.add('active'); currentAlgorithm = this.dataset.algo; const caesarGroup = document.getElementById('caesarShiftGroup'); if (currentAlgorithm === 'caesar') { caesarGroup.style.display = 'block'; } else { caesarGroup.style.display = 'none'; } }); }); // Base64 编码 function base64Encode(str) { try { return btoa(unescape(encodeURIComponent(str))); } catch (e) { return ''; } } // Base64 解码 function base64Decode(str) { try { return decodeURIComponent(escape(atob(str))); } catch (e) { return ''; } } // URL编码 function urlEncode(str) { return encodeURIComponent(str); } // URL解码 function urlDecode(str) { try { return decodeURIComponent(str); } catch (e) { return ''; } } // HTML实体编码 function htmlEncode(str) { const entities = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; return str.replace(/[&<>"']/g, char => entities[char]); } // HTML实体解码 function htmlDecode(str) { const entities = { '&': '&', '<': '<', '>': '>', '"': '"', ''': "'" }; return str.replace(/&(amp|lt|gt|quot|#39);/g, match => entities[match]); } // ROT13 function rot13(str) { return str.replace(/[a-zA-Z]/g, char => { const base = char <= 'Z' ? 65 : 97; return String.fromCharCode((char.charCodeAt(0) - base + 13) % 26 + base); }); } // 凯撒密码 function caesarCipher(str, shift, decode = false) { if (decode) shift = 26 - shift; return str.replace(/[a-zA-Z]/g, char => { const base = char <= 'Z' ? 65 : 97; return String.fromCharCode((char.charCodeAt(0) - base + shift) % 26 + base); }); } // 摩斯密码编码 function morseEncode(str) { return str.toUpperCase().split('').map(char => morseCode[char] || char).join(' '); } // 摩斯密码解码 function morseDecode(str) { return str.split(' ').map(code => { if (code === '/') return ' '; return reverseMorse[code] || code; }).join(''); } // 十六进制编码 function hexEncode(str) { return Array.from(str).map(char => char.charCodeAt(0).toString(16).padStart(2, '0')).join(' '); } // 十六进制解码 function hexDecode(str) { return str.split(/\s+/).map(hex => String.fromCharCode(parseInt(hex, 16))).join(''); } // 二进制编码 function binaryEncode(str) { return Array.from(str).map(char => char.charCodeAt(0).toString(2).padStart(8, '0')).join(' '); } // 二进制解码 function binaryDecode(str) { return str.split(/\s+/).map(bin => String.fromCharCode(parseInt(bin, 2))).join(''); } // 文本反转 function reverseText(str) { return str.split('').reverse().join(''); } // Unicode编码 function unicodeEncode(str) { return Array.from(str).map(char => '\\u' + char.charCodeAt(0).toString(16).padStart(4, '0')).join(''); } // Unicode解码 function unicodeDecode(str) { return str.replace(/\\u([0-9a-fA-F]{4})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16))); } // 加密函数 function encryptText() { const input = document.getElementById('inputText').value; if (!input) { showAlert('请输入要加密的文本', 'error'); return; } let result = ''; const shift = parseInt(document.getElementById('caesarShift').value) || 3; switch (currentAlgorithm) { case 'base64': result = base64Encode(input); break; case 'url': result = urlEncode(input); break; case 'html': result = htmlEncode(input); break; case 'rot13': result = rot13(input); break; case 'caesar': result = caesarCipher(input, shift); break; case 'morse': result = morseEncode(input); break; case 'hex': result = hexEncode(input); break; case 'binary': result = binaryEncode(input); break; case 'reverse': result = reverseText(input); break; case 'unicode': result = unicodeEncode(input); break; default: result = input; } document.getElementById('outputText').textContent = result || '加密失败'; if (result) { showAlert('加密成功!', 'success'); } } // 解密函数 function decryptText() { const input = document.getElementById('inputText').value; if (!input) { showAlert('请输入要解密的文本', 'error'); return; } let result = ''; const shift = parseInt(document.getElementById('caesarShift').value) || 3; switch (currentAlgorithm) { case 'base64': result = base64Decode(input); break; case 'url': result = urlDecode(input); break; case 'html': result = htmlDecode(input); break; case 'rot13': result = rot13(input); break; case 'caesar': result = caesarCipher(input, shift, true); break; case 'morse': result = morseDecode(input); break; case 'hex': result = hexDecode(input); break; case 'binary': result = binaryDecode(input); break; case 'reverse': result = reverseText(input); break; case 'unicode': result = unicodeDecode(input); break; default: result = input; } document.getElementById('outputText').textContent = result || '解密失败'; if (result) { showAlert('解密成功!', 'success'); } } // 复制结果 function copyResult() { const output = document.getElementById('outputText').textContent; if (output && output !== '等待加密或解密操作...' && output !== '加密失败' && output !== '解密失败') { navigator.clipboard.writeText(output).then(() => { showAlert('已复制到剪贴板!', 'success'); }).catch(() => { showAlert('复制失败,请手动选择复制', 'error'); }); } else { showAlert('没有可复制的内容', 'error'); } } // 清空 function clearAll() { document.getElementById('inputText').value = ''; document.getElementById('outputText').textContent = '等待加密或解密操作...'; document.getElementById('alertBox').innerHTML = ''; } // 显示提示 function showAlert(message, type) { const alertBox = document.getElementById('alertBox'); alertBox.innerHTML = `
${message}
`; setTimeout(() => { alertBox.innerHTML = ''; }, 3000); }
操作面板
工具详情
  • 工具图片:
  • 工具名称: 文本加密解密工具 - OpenSKIL
  • 创建时间: Mon Apr 13 2026 08:01:28 GMT+0800 (China Standard Time)
  • 收藏数量: 共0人
  • 点赞数量: 共0次
  • 分享次数: 共0次
  • 访问数量: 共0次
  • 工具版本: v1.0.0
会员评论

主标题

站点所有消息通知及提示Tips内容!