【问题标题】:Generate many combinations of numbers based on生成许多​​基于数字的组合
【发布时间】:2010-07-08 08:20:23
【问题描述】:

我只是想知道是否有一种方法可以仅根据一个数字/字母生成许多不同的数字和字母组合?例如:

仅从这一个字符串:

234jk43fc7898cfg58

我们可以生成许多不同的组合,例如:

HGYTD786Gjhghjg76fghf8
8976sgh8976
cv34905bv7
435bv4875bvg487bv
45b6467ne456n
4n56n45n6

... 每个生成的字符串最终都可以重新计算回其原始字符串: 234jk43fc7898cfg58

这有可能吗?如果有任何帮助,我将不胜感激。

谢谢

【问题讨论】:

  • 你说的是加密吗?也许那不是您所追求的……“仅基于一个数字/字母”是什么意思?
  • 恐怕我没听懂你的问题。你需要它做什么?
  • @High Performance Mark f (string x) { return x == "234jk43fc7898cfg58" ? "4n56n45n6" : "234jk43fc7898cfg58"; } 符合您的要求;我的发票在邮寄中。
  • @Jens, @Pete:嗯,没有我想的那么大方那么危险。一旦我检查了发票,支票就会“邮寄”。我保证。

标签: c# .net math numbers combinations


【解决方案1】:

您在数学中寻找的东西被称为“可逆函数”。

您的组合想法看起来很简单,但肯定有可逆函数可用于处理此类数据。

例如,Zip 等压缩工具的存在应该会给您带来希望...

你想要这个函数做什么?如果它无论如何都与密码学有关,我的建议是使用 .Net 本身的密码学功能 - 不要试图重新发明一个特别复杂的轮子。除此之外,.Net 的功能将远远超过您想出的任何东西。不想让你失望 - 只是想提供帮助......

马丁。

【讨论】:

  • 感谢您的帮助和建议,马丁。我将学习密码学课程,并对可逆函数进行一些我自己的研究。该函数将用于生成随机字符串,第一个与原始基本字符串匹配的客户帐号将免费获得一整年的订阅我的服务。 (我对我的新服务非常保密,因为我不想在发布之前泄露任何细节。)。非常感谢您的帮助! :-)
【解决方案2】:

对我来说,这听起来像是一种压缩算法(例如 7zip),将相同的信息存储在较小的字节中,或者是一种编码方案(例如,base64),仅使用可用字节组合的子集存储相同的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2014-05-25
    • 2021-12-13
    • 2023-02-07
    • 1970-01-01
    • 2017-04-24
    相关资源
    最近更新 更多