Viv*_*ira 11 java unicode internationalization
我的应用程序需要符合I18N标准.其中一个要求是我生成的初始密码应该是用户选择的语言.我可以使用Java中的API来实现这一目标吗?我有用户的语言,需要从该语言的unicode集中获取一些随机字符.
编辑:感谢您的答案到目前为止.一些澄清:这是针对基于Web的应用程序.出于安全原因,我们无法维护不同语言的字符/单词库存.
编辑2:回应评论和一些答案:此应用程序将部署在不同的地理位置,我不希望他们必须按照他们部署的语言设置密码.这和安全性是我的原因尚未接受最受欢迎的答案.
虽然我不确定设置默认密码是一个理想的操作(人们通常不知道如何更改它然后忘记它)如果我这样做,我会得到大量的各种语言的单词列表并选择两个随机单词,连接并使用它作为密码.
意味着你必须做一些腿部工作来找到单词列表,但是一旦你得到它们就应该是一个相当简单的过程.
编辑:如果您只是制作随机字符串,它会变得更简单:您只需存储每种语言的可用字符文件.当你来生成然后选择随机字母时,打开正确的一个.Bish bash波什.完成.
编辑2:正如Marcelo正确评论的那样,你可能会遇到为用户生成一些淫秽密码的问题.保持本地化的黑名单字符串以检查您的密码可能也是值得的.如果密码中出现任何字符串(仅在其中,而不是整个密码),则生成不同的密码.这确实意味着你永远不会生成一个无辜的密码,scunthorpe但这也意味着你不会得到像assclown滑倒这样的东西.
你可能已经聚集了,这开始看起来像很多工作:
您可能会发现使用每种语言中已知的干净单词(根据我的原始答案)设置密码短语效果更好.
如果所有这些看起来压力太大,那么最好重新判断设置随机密码的原因.如果它是电子邮件验证设备,还有其他更简单的方法可供使用.例如:发送要点击的唯一链接
编辑:数字会好吗?他们是很多更安全,也不需要梳理,为国际和可以足够长,是唯一的,他们只是很少难忘.如果他们是一次性的复制和粘贴工作,他们应该没事.
如果你需要它们很短但非常独特(并且需要很多),也许将数字与可预测模式中的字母混合起来,例如(a= letter,n= number),可以annn-annn得到676,000,000种组合.即使是简单的事情,annn如果它们不需要是唯一的,也可以给予足以不被猜测(26000个组合)......如果这些是密码,那么两个是相同的并没有错.
| 归档时间: |
|
| 查看次数: |
1600 次 |
| 最近记录: |