【发布时间】:2014-10-07 10:37:40
【问题描述】:
为了实现密码复杂性,我需要一个可以删除重复字符的函数(以便生成满足密码复杂性要求的密码)。所以像 weeeeee1 这样的字符串是不允许的,因为 e 是重复的。我需要一个函数来代替返回 we1,其中重复字符已被删除。必须使用 Oracle PL/SQL 或直接 sql。
我找到了Oracle SQL -- remove partial duplicate from string,但这不适用于我的 weeeeee1 测试用例,因为它只替换为一次迭代,因此返回 weee1。
我不是要测试没有重复的字符。我正在尝试将重复字符串更改为非重复字符串。
【问题讨论】:
-
删除字符会不会有不符合其他要求的风险,特别是最小长度?如果一开始就看不到它是如何生成的,那么丢弃任何未通过任何测试的生成值并重新开始可能会更简单;取决于它们失败的频率、生成它们需要多长时间、是否能提供可接受的性能等等......
-
真的是
we1比weeeeee1更安全的密码吗?!? -
我将使用一个随机生成的数字。唯一的问题是删除可能的重复字符。所以长度和安全性不是问题。