XOR 加密有什么问题?

2024-04-12

我编写了一个简短的 C++ 程序来对文件进行 XOR 加密,我可以将其用于一些个人文件(如果它被破解,那没什么大不了的 - 我只是防止临时查看者)。基本上,我采用 ASCII 密码并重复将密码与文件中的数据进行异或。

但现在我很好奇:如果有人想破解这个问题,他们会怎么做?会需要很长时间吗?它是否取决于密码的长度(即大O是什么)?


XOR 加密的问题在于,对于长时间运行的相同字符,很容易看到密码。此类长行最常见的是文本文件中的空格。假设您的密码是 8 个字符,并且文本文件的某些行中有 16 个空格(例如,在 ASCII 图形表的中间)。如果您只是将其与密码进行异或,您将看到输出将具有重复的字符序列。攻击者只会寻找任何此类字符,尝试猜测原始文件中的字符(空格将是第一个尝试的候选字符),并从重复组的长度中得出密码的长度。

二进制文件可能更糟,因为它们通常包含重复的序列0x00字节。显然,与这些进行异或运算是无操作的,因此您的密码将以纯文本形式显示在输出中!具有长空序列的非常常见的二进制格式的示例是.doc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XOR 加密有什么问题? 的相关文章

  • 在 php 中进行 AES 加密,然后用 Javascript (cryptojs) 解密

    我正在寻找一种对简单文本 5 到 6 个数字和 或字符 进行双向加密的方法 问题是我想在 php 中进行加密 然后通过 Javascript 解密 对于 php 我已经使用 mcrypt encode 进行了测试并使其正常工作 因此当我尝试
  • Java GuardedString - 用于加密的随机密钥是否存储在 Java 堆内存中?如果不是,那么密钥保存在哪里?

    Oracle 的 org identityconnectors common security GuardedString 要转换为 GuardedString 的原始数据需要由 EncryptorImpl class 随机生成的加密密钥
  • 可以混淆/加密 SharedPreferences 文件吗?

    因此 我对混淆应用程序的 SharedPreferences xml 文件很感兴趣 就像 Android LVL 混淆其许可证 cahce 数据一样 这是可以想象的吗 大量的谷歌挖掘几乎没有产生任何可能解决我的问题的结果 我当然不是密码学家
  • 十六进制数的按位异或

    我们如何在 Python 中对十六进制数进行异或 例如 我想要异或 ABCD and 12EF 答案应该是 B922 我使用了下面的代码 但它给出了错误的结果 xor two strings of different lengths def
  • 加密成本高,解密成本低

    我希望该用户 攻击者加密数据并发送给服务器 现在我想要一种与标准算法完全相反的算法 使用快 难以解密 即很难使用服务器发送的密钥来加密密码等数据 以防止随机攻击 但很容易解密这样服务器在验证用户时消耗的时间非常少 但是对于攻击者来说 每次使
  • (Java) 在 Mac OS X 上以编程方式访问“系统根目录”下的 SSL 证书

    我正在编写一个 Java 应用程序 它可以通过远程 Https 站点进行 REST Api 调用 远程站点由受信任的证书签名 它在 Windows 上运行良好 但由于 SSL 证书问题 在 OS X 上运行时遇到问题 我做了一些挖掘 发现原
  • Delphi 的免费加密库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为 Delphi 2010 寻找一个免费且最新的加密库 该库实现 RSA 和 AES Rijnda
  • 如何检测CSRF漏洞[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定一个网站 如何检测潜在的 CSRF 漏洞 提前致谢 这是一个CSRF https www owasp org index php
  • Java - 从配置文件加密/解密用户名和密码

    我们正忙于为客户开发 Java Web 服务 有两种可能的选择 将加密的用户名 密码存储在Web服务客户端上 从配置中读取 文件在客户端 解密并发送 将加密的用户名 密码存储在 Web 服务器上 从配置中读取 Web 服务器上的文件 解密并
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 如何将pgp私钥传输到另一台计算机? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 I read 本文 http www robertsosinski com 2008 02 18 working with pgp and mac o
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • 用 C++ 解密文件,该文件使用 openssl -aes-128-cbc 加密

    我正在尝试用 C 解密文件 该文件使用以下命令加密 openssl enc nosalt aes 128 cbc pass pass test in test txt out test enc txt p 控制台显示key 098F6BCD
  • 如何为移动应用程序创建无密码登录

    我有兴趣在移动应用程序和 API 之间构建某种无密码登录 假设我可以控制两者 动机是必须登录对用户来说非常烦人并且存在安全风险 例如 用户将重复使用现有密码 我希望用户能够立即开始使用该应用程序 我想知道是否有一些可行的技术 例如 在移动设
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • 是否可以在 PHP 中使用 file_get_contents 来破坏 CSRF 令牌验证

    在每个会话的表单上使用令牌的 CSRF 预防方法是一种流行的方法 但是 我不明白这种令牌方式如何保护file get contentsPHP 可以获取跨域文件表单的内容 gt 它可以获取表单上的令牌并使用它 那么这种token方式是如何运作
  • 什么是 API 密钥? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如今 我几乎在每个跨服务应用程序中都看到这个词 API 密钥到底是什么以及它的用途是什么 另外 公共 API 密钥和私有 API 密钥
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • 为什么AES java解密返回额外的字符?

    请原谅我英语不好 我使用 mcrypt 我从这里得到它用于 php 和 java 的 MCrypt https snipt net raw ee573b6957b7416f28aa560ead71c3a2 nice 在我的android应用

随机推荐

  • Javascript For循环回调?

    尝试用 Javascript 而不是 jQuery 来思考 所以我想知道我这样做是否正确 我想在循环完成时进行回调 这是正确的方法吗 for var i 0 i lt divs length i do some stuff if i div
  • 更新 SSIS OLEDB 目标中的行

    我有一个数据流过程 其中有一个 OLEDB 源和一个 OLEDB 目标 如下所示 源合并来自两个临时表的数据并返回结果集 例如 50K 行 这 50K 行也存在于目标表中 但是旧数据 SELECT FROM staging1 UNION S
  • R knit Markdown:For 循环内的输出图

    我想创建一个自动针织报告 它将为我的数据框中的每个数字字段生成直方图 我的目标是在无需指定实际字段的情况下完成此操作 此数据集包含超过 70 个字段 我还想重用该脚本 我尝试了几种不同的方法 saving the plot to an ob
  • 我可以将虚拟机放入可用性集之外的另一个资源组吗?

    我希望将每个虚拟机保留在单独的资源组中 以便于生命周期管理 我有一个包含 n 个 VLM 的集群 因此 我为公共 IP 负载均衡器等常见事物创建一个资源组 并将可用性集声明放入其中 因为它也必须在虚拟机之间共享 然后我在单独的资源组中创建虚
  • Perl 代码中的错误:无法找到模块 XML::LibXSLT 的可加载对象 [重复]

    这个问题在这里已经有答案了 Environment CentOS 5 Application Perl 5 8 8 Apache 错误说 Error in Perl code Can t locate loadable object for
  • Spring Boot Maven - 包含本机库

    在我的项目中我正在使用Sigar需要一些本机库的库 我想将所有文件 ddl so 等 特定于平台的 包含在 JAR 内或运行 jar 的同一目录中 Sigar在 java library 路径中搜索这个库 但我无法将它们全部包含在系统中PA
  • 如何向 JCarousel 添加描述

    我在用jcarousel 我无法为滑块中的照片添加描述 div ul class jcarousel skin tango li img src images about img1 jpg li ul div 您可以在 jCarousel
  • 是什么导致 MSSQL 中出现“非阻塞套接字上的操作将阻塞”错误?

    错误 异常查询为 CREATE NONCLUSTERED INDEX I1 ON AllAccounts BAK Master received Day ASC 出现异常 发生一个或多个错误 错误 异常内部异常无法从传输连接读取数据 非阻塞
  • 使用函数 gethostbyname 编译 C 到静态链接错误

    我正在尝试使用函数编译程序gethostbyname 使用交叉编译器arm none linux gnueabi 但是当我在 android 上运行我的二进制文件时它不起作用 我的代码如下 gethostbyname example c i
  • 黄瓜无头 xvfb ubuntu

    我正在尝试在 Amazon EC2 上设置 Jenkins 构建服务器 我计划在无头模式下运行我的黄瓜测试套件 我成功地在 IRB 中无头运行 require watir webdriver require headless headles
  • 科特林。基本 JavaFX 应用程序

    尝试了 Kotlin lang 我的印象是它与 Java 兼容 因此与 JavaFX 兼容 我尝试了以下操作 public object TestKt Application public override fun start stage
  • 在 CocoaPods 1.5 中使用静态库,导入时没有这样的模块

    随着 CocoaPods 1 5 的发布 我试图将项目中的 10 15 个动态 pod 迁移到将它们作为静态库 目的是加快我的应用程序启动时间 在这个阶段 我的简单 即简单化 尝试是在运行 pod install 时删除 use frame
  • Apache Spark SQL 按范围对数据进行分组

    我有一个表包含 年龄 列 我想根据年龄将人们分为几组 例如 0 5 5 10 10 15 然后我会对每组进行相同的计算并比较结果 这样做的目的是看看年龄是否与其他变量相关 请帮忙 你可以用这个公式来计算年龄range start age a
  • 如何检查pdf页面是否有书签?

    我正在尝试检查 pdf 文件中的页面是否有书签以及该书签中的内容 我正在使用 iTextSharp text pdf 来阅读和操作 pdf 但我找不到方法检查页面是否有书签 请帮忙 谢谢 我尝试获取书签 但它获取了所有集合 但我不知道如何获
  • 监控Windows共享

    我正在尝试使用 C 监视与 Windows 共享的连接 我非常确定这是可能的 因为您可以从 Windows 控制台管理器看到连接到您的人员 虽然我不介意使用 WMI 的解决方案 但我更喜欢一些替代方法 我所说的连接是指有人在受监控的电脑上打
  • 如何使用纯 javascript 获取 DIV 内的所有 id

    我想立即获取 Div 内每个元素的每个 ID 并更改它们的所有类名 喜欢 div div div div div div div div div div 我见过使用库的解决方案 但这可以用纯 Javascript 实现吗
  • 在ASP.NET中的子控件中创建ASP.NET ReportViewer;文档结构图按钮中断

    我们在使用 Visual Studio 2008 ReportViewer 控件时遇到了一个奇怪的问题 具体来说 当我们在页面上有一个子控件 并且子控件本身承载一个报表查看器 并且该报表具有文档结构图时 显示 隐藏文档结构图按钮上的回发似乎
  • 如何使用 jQuery 将 div css 的可见性更改为可见

    我的屏幕上有 下一个 和 上一个 按钮 当页面最初加载时 我希望隐藏 上一个 按钮 并且一旦用户单击 下一个 按钮 我希望 上一个 按钮 div 标签可见 我有一个用于 上一个 按钮的 CSS 属性 我将其可见性值设置为 False 还有一
  • .htaccess mod 重写规则和与号

    我已经为此苦苦挣扎了两天 目前我有以下重写规则 RewriteRule index php u 1 NC L 它将 example com 后面的所有内容作为 GET 变量 u 移植到 index php 它正在index php中进行处理
  • XOR 加密有什么问题?

    我编写了一个简短的 C 程序来对文件进行 XOR 加密 我可以将其用于一些个人文件 如果它被破解 那没什么大不了的 我只是防止临时查看者 基本上 我采用 ASCII 密码并重复将密码与文件中的数据进行异或 但现在我很好奇 如果有人想破解这个