- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很难想出一种可以创建短(8 个字符)推荐代码的算法。我想使用一种易于内存的模式,其中不可能在代码中出现令人反感的词。我也不希望任何字母与数字混淆——所以没有 1、l、0 和 O。我想出的模式是 aa22aa22 .这种模式基本上是两个字母字符后跟两个数字字符后跟两个字母字符后跟两个数字字符。字母字符都是小写的。这种模式支持超过 40 亿种可能的代码。
现在是棘手的部分。我需要将生成的代码存储在 Salesforce 中。我认为这需要以非随机方式完成,因为如果我随机进行,我必须检查与已生成代码的冲突。这将进入 Salesforce 强加给您的调控器限制。如果您不熟悉调控器限制,这基本上意味着如果您查询数据库的次数过多或者您的进程运行时间过长,则底层系统会抛出调控器限制错误。随机代码创建引入了关于查找与先前创建的代码不冲突的代码需要多少查询的不确定性。所以,现在基本上归结为创建保证永不重复的代码,这意味着按顺序创建它们。顺序方法的问题是代码很容易猜测。
是的,我可以拥有一个非 Salesforce 数据存储,它可以作为记录源并使用随机方法并在那里进行碰撞检查,但我想看看全局社区是否有任何可行的想法。我试图找到一种可以产生 8 个字符密码的弱对称加密算法,但到目前为止我没有运气。
最佳答案
我会选择一种方法,比如使用一些随机数生成器来创建一个不可重复的序列,就像这里建议的那样:https://stackoverflow.com/a/196164/2331592
您必须选择最多支持 [可能的优惠券数量] 组合的生成器。
每次您抽取一个随机数时,您都会得到另一个数字,它是可能的优惠券的索引(--> 排列),可以直接转换为优惠券(但由于您的优惠券数字具有不同的基数,因此并不像更改一样容易数基)
例子:
如果您的代码模式看起来像 a1a
那里a
代表 [abcde]
和 1
为 [123]
.
这将产生 75 个排列。
00 a1a 15 b1a 30 c1a 45 d1a 60 e1a
01 a1b 16 b1b 31 c1b 46 d1b 61 e1b
02 a1c 17 b1c 32 c1c 47 d1c 62 e1c
03 a1d 18 b1d 33 c1d 48 d1d 63 e1d
04 a1e 19 b1e 34 c1e 49 d1e 64 e1e
05 a2a 20 b2a 35 c2a 50 d2a 65 e2a
06 a2b 21 b2b 36 c2b 51 d2b 66 e2b
07 a2c 22 b2c 37 c2c 52 d2c 67 e2c
08 a2d 23 b2d 38 c2d 53 d2d 68 e2d
09 a2e 24 b2e 39 c2e 54 d2e 69 e2e
10 a3a 25 b3a 40 c3a 55 d3a 70 e3a
11 a3b 26 b3b 41 c3b 56 d3b 71 e3b
12 a3c 27 b3c 42 c3c 57 d3c 72 e3c
13 a3d 28 b3d 43 c3d 58 d3d 73 e3d
14 a3e 29 b3e 44 c3e 59 d3e 74 e3e
x = (a*x + c) mod m
环境
x = 1
(可以使用任何数字)
a = 5
(可以使用任何大数 - 只需确保您的算术不会溢出)
c = 0
m = 73
m
成为排列计数的下一个最小素数,以确保生成器始终创建有效数字,尽管最后排除了许多有效组合 - 因此该生成器永远不会生成 #73 和 #74,也永远不会生成 # 0 从那时起总是
0
被 build
01: 5 11: 31 21: 17 31: 47 41: 14 51: 43 61: 33 71: 44
02: 25 12: 9 22: 12 32: 16 42: 70 52: 69 62: 19 72: 1
03: 52 13: 45 23: 60 33: 7 43: 58 53: 53 63: 22 --> 01: 5
04: 41 14: 6 24: 8 34: 35 44: 71 54: 46 64: 37
05: 59 15: 30 25: 40 35: 29 45: 63 55: 11 65: 39
06: 3 16: 4 26: 54 36: 72 46: 23 56: 55 66: 49
07: 15 17: 20 27: 51 37: 68 47: 42 57: 56 67: 26
08: 2 18: 27 28: 36 38: 48 48: 64 58: 61 68: 57
09: 10 19: 62 29: 34 39: 21 49: 28 59: 13 69: 66
10: 50 20: 18 30: 24 40: 32 50: 67 60: 65 70: 38
a
位置有 5 种可能性和
1
有3种可能。
a3, a2, a1
possibilies: 5 3 5
digit value: a3*3*5 a2*5 a1*1
digit value: a3*15 a2*5 a1*1
each of the possibilities has an attached value:
letters a b c d e
value 0 1 2 3 4
numbers 1 2 3
value 0 1 2 <-- this is a bit counter intuitive - but we need to start at 0
e3b --> e≙4 3≙2 b≙1
4*3*5 + 2*5 + 1*1
= 60 + 10 + 1
= 71
code e3b --> #71
#51
a1 = (51 / 1) mod 5 = 1 ≙ b
a2 = (51 / 5) mod 3 = 1 ≙ 2
a3 = (51 / 15) mod 5 = 3 ≙ d
#51 --> code d2b
a1a
表示。
关于encryption-symmetric - 如何生成难以猜测的推荐/优惠券代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329621/
按照建议尝试这个新的stackoverflow :) 这并不是haskell 特有的,但它在haskell 中是最清楚的。 这是一个每隔一段时间就会出现的模式:一个函数接受两个对称处理的参数。 map
我存储了一些敏感数据。数据被分成几部分,我想对每个部分进行单独的访问。假设我有 1000 个文件。我想通过相同的对称加密算法加密每个文件。 我想当黑客有 1000 个密码时破解 key 比他只有一个密
这个问题在这里已经有了答案: With arrays, why is it the case that a[5] == 5[a]? (20 个答案) 关闭 7 年前。 我正在尝试解开这个谜团: in
题目地址:https://leetcode.com/problems/symmetric-tree/open in new window Total Accepted: 106639 Total S
我很难想出一种可以创建短(8 个字符)推荐代码的算法。我想使用一种易于内存的模式,其中不可能在代码中出现令人反感的词。我也不希望任何字母与数字混淆——所以没有 1、l、0 和 O。我想出的模式是 aa
我有一张这样的 table : _id sender_id receiver_id text 1 1 2 xxx 2 2 1
我有一张这样的 table : _id sender_id receiver_id text 1 1 2 xxx 2 2 1
我有两个以弧度为单位的角度值数组。这两个阵列关于已知的恒定角是对称的。数组如图所示: 示例值如下: one = [ 2.98153965 -1.33298928 2.94993567 -1.3
在以下代码中:symmetryCryptoKey 表示应始终受到保护的私有(private)信息,因为它是加密对称 key 的解密版本。 问题: 是否可以进行其他增强来保护 Multi-Tenancy
我做了一个简单的函数,称为symmetricDelta(),它“对称地”计算value和previous之间的差异。我的意思是:考虑一个数字行,例如0到ULLONG_MAX,在此处连接数字线的左右两端
最近我开始从事加密工作。我有一个功能正常的非对称加密类,但我还需要一个对称 key 类。尽管对称 key 类的大多数方面都可以正常工作,但从其编码字节加载 key 却无法正常工作。以下是对称 key
我试图在 python3 中将整数拆分为“尽可能对称的数组”,但似乎不太正确。 所需的输入/输出可以通过此数据模式表进行描述。 # data pattern TABLE # INPUT (int) =
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 4 年前。 Improve
客户有一个简单的递增顺序号(1、2、3...)。他希望最终用户收到一个 8 位或 9 位(仅限数字——无字符)“随机”数字。显然,这个“随机”数实际上必须是唯一且可逆的(它实际上是对实际订单号的加密)
由于不可变数据结构是一流的值,我们可以像比较任何其他值一样比较它们的相等性或顺序。但是在 BCL 不可变集合预览中事情变得复杂,因为每个不可变集合都可以通过 IEqualityComparer 进行参
我编写了以下用于编码和解码字符串数据的类(一键对称算法): using System; using System.Collections.Generic; using System.Linq; usi
我正在尝试使用 Java 8 流来组合列表。如何从两个现有列表中获取“对称差异列表”(所有对象仅存在于一个列表中)。我知道如何获得相交列表以及如何获得联合列表。 在下面的代码中,我想要来自两个汽车列表
我有一个矩阵如下; 1 2 3 4 5 1 0 1 1 0 0 2 0 0 1 1 0 3 1 0 0 0 1 4 0 0 1 0 0
我想定义一个具有以下属性的函数 symmetricLazyOr :: Bool -> Bool -> Bool symmetricLazyOr True _|_ === True symmetricL
例如: class Contact(models.Model): contacts = models.ManyToManyField('self', through='ContactRelat
我是一名优秀的程序员,十分优秀!