c# - 沿直线寻找随机点

标签 c# .net encryption geometry

我正在写一个小程序来帮助拆分密码(解释见下文)

我有将文本转换为 int 的代码(text-ascii binary -> dec int)

所以在这种情况下,单词“test”将 = 1952805748

现在是有趣的部分。(对密码进行编码)

然后我会取 x1 = 1952805748 和 y1 = 0

然后我组成一个随机点,其中 x2 = 7 和 y2 = 142

这将在 x1,y1 和 x2,y2 之间画一条线(使用 Y=mx+B)

我需要如何沿着这两个点创建的线找到任何随机点(我们称之为 x3,y3)

如果有人有任何想法,我很乐意听取他们的意见。我试图计算出两个点都是整数的代码(如果我们在每个数字后面没有大的小数点,对每个人来说都会更容易)

++ 为什么++

一般的想法是,如果你必须在两方之间拆分密码,那么一方可能会根据给定的字符串找出密码

如果您使用此方法,他们将分别得到一个点,并且从该点开始,在数学上不可能确定直线与 x (x=? y =0) 的交点 这样您就可以放心地将一组要点交给您的律师,将一组交给您的妻子

他们会做数学运算(将其输入程序)然后他们会得到一个数字,该数字将被解码为一个密码,该密码可以用您的遗嘱或其他您不希望他们访问的敏感文件解密文件出另一个礼物

最佳答案

其他答案已经解决了您的数学想法,但在加密方面,我强烈建议您不要尝试制定自己的加密方案。

如果你想用两个密码加密一些东西,并且两个密码都是必需的,有一个更简单的方法:加密文件两次:

Plaintext -> Encrypted1 (with password 1)
Encrypted1 -> Encrypted2 (with password 2)

Encrypted2 是您存储的内容。扔掉 Encrypted1

要解密,只需用密码2解密Encrypted2得到Encrypted1,再解密Encrypted1就可以得到明文。

任何一个密码本身都是无用的,正如预期的那样,您不需要制定任何加密算法/代码。

编辑:作为一个更简单的解决方案,只需编写一个非常长的密码并给每一方一半。例如,用 key “这是一个很长的密码”加密文件,并给你的宽“这是一个很长的密码”和你的律师“长密码”。显然,您需要适本地选择密码,这样知道一半就不会对另一半给出任何提示。

关于c# - 沿直线寻找随机点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/597788/

相关文章:

c# - 使用自定义解析器时程序集不允许部分信任的调用者

c# - 当前 .Net SDK 不支持以 .Net Core 2.2 为目标 以 .Net Core 2.1 或更低版本为目标

c# - 我从只返回 Task 而不是 Task<T> 的方法返回什么?

c# - 将测试驱动开发应用于紧密耦合的架构

c# - 没有从 T 到 T Base<ChildBase> 的隐式引用转换

c# - 区分多个 webclient 结果

algorithm - 我应该使用哪种公钥算法来加密一小部分字节?

c# - 为什么我的实体类型关联被切断?

c - C 程序中的段错误

java - 如何在java和node中编写精确的加密代码?