构建一个 React 组件,对复制的文本进行加密,同时在屏幕上保持可读

发布: (2025年12月4日 GMT+8 12:53)
2 min read
原文: Dev.to

Source: Dev.to

Cover image for Built a React component that encrypts copied text while keeping it readable on screen

工作原理

  • 文本在屏幕上正常显示。
  • 当用户复制文本时,剪贴板会收到使用随机化维吉尼亚密码生成的加密乱码。
  • 加密密钥在每次渲染时重新创建,且从不暴露,使得解密不可能。

使用方法

import { ProtectedText } from "react-text-protect";

function App() {
  return (
    <ProtectedText>
      This text looks normal but
      copying it produces encrypted
      output that cannot be decoded.
    </ProtectedText>
  );
}

示例复制输出

Jeb lhag fdiax josfi kljpdy ftq ut peryuobv xvvrf

为什么采用这种方式

  • 没有破坏右键菜单或可访问性问题。
  • 无法通过浏览器的检查元素绕过。
  • 为用户保持正常的文本行为。
  • 零依赖,约 2 KB 的打包体积。

使用场景

  • 在线考试与评估
  • 阻止 AI 爬虫
  • 专有文档
  • 任何需要可阅读但不可复制的内容

安装与链接

npm install react-text-protect

欢迎反馈!

Back to Blog

相关文章

阅读更多 »

新加入 Dev 社区

大家好,我是 dev 社区的新成员,重新开始我的 coding 之旅。我曾在 2013‑2018 年间编写代码。之后我探索了新的机会,...