- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我即将编写一个将条形码转换为游戏元素(例如怪物、元素、技能等)的游戏。很像旧的“Barcode Battler”游戏。
不幸的是,我在数学方面不是很有天赋。我需要的是一些提示,我可以如何开发一种算法来从条形码中“解析”某些统计数据(例如攻击点数、生命值……)而不使其可预测。
假设我有这个 8 位条形码:12345678
我的一个 friend 建议用 MD5 和盐对条形码进行哈希处理,但我遇到的问题是我猜这会产生很多冲突。此外,从游戏设计师的角度来看,很难预测获得某些特殊属性的机会。
那么有人知道我该如何从这里开始吗?
最佳答案
MD5 哈希摘要为 128 位,因此有 2^128 种可能的哈希,或 340,282,366,920,938,463,463,374,607,431,768,211,456 (3.402823669e+38) 种可能的哈希。
条形码有12位十进制数字,但其中一位是校验位,所以我们可以忽略它。有 10^11 种可能的条形码,或 100,000,000,000(1000 亿)种可能性。
根据此页面:http://www.iusmentis.com/technology/encryption/pgp/pgpattackfaq/hash/#bruteforcemd5,您需要尝试至少 2^64 次哈希,然后才能在 MD5 上发生冲突,这意味着仅使用一组条形码。
使用 MD5 比简单地使用条形码中的位的优势在于,对于给定的公司,条形码的第一部分将始终相同,您必须考虑到这一点,否则您最终会得到生产类似产品的给定公司。
缺点是散列将散布在所有可能的值空间中,因此您最终可能会得到种类繁多的项目和巨大的差距。
唯一的方法就是试验。
关于将条形码转换为游戏对象(怪物、元素等)的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5842233/
我走! 农卡! 乡非! 男痴@ 有倪 再贱 罗二。 左耳L 鱼七° 闲人 只要你! 怪物 - 久伴! 兀自
我即将编写一个将条形码转换为游戏元素(例如怪物、元素、技能等)的游戏。很像旧的“Barcode Battler”游戏。 不幸的是,我在数学方面不是很有天赋。我需要的是一些提示,我可以如何开发一种算法来
冒着听起来像新手程序员的风险,我要问一个关于“空指针”怪兽的普遍存在的问题。这是一段代码: public class pixel { private String type = "empty"
我正在接手一个庞大的现有项目。现在我正在寻找一些错误。但是当到处都是 symfony 缓存时,很难理解外国代码做了什么。 Quit the server with CONTROL-C. RUN
我们当前的自动化构建由 1 个主盒和 4 个 core-2-duo 披萨盒(大约 2.5Ghz)组成,每个盒有 3 GB 内存,全部运行 Ubuntu Linux。 (使用bamboo) 我被要求重新
我有一个它正在选择的怪物列表。 def monsters(): whatMonster = random.randint(0, 25) monster = pickMonste
我是一名优秀的程序员,十分优秀!