打包回家 | 报告新错误 | 新建搜索 | 发展路线图 状态:正常开放 | 反馈 | 全部 | 自版本1.2.1起关闭

请求#377 createPronouncable函数中可能的替代机制
提交: 2003年12月8日14:07 UTC
发件人: jackh在iol dot ie 分配: mj(百万焦耳)
状态: 分配 包裹: 文本密码
PHP版本: 无关 操作系统: 红帽/无关
路线图: (未分配)    
订阅  


 [2003年12月8日14:07 UTC]jackh at iol dot ie
描述:------------我认为通过错误报告提出这个问题并不合适,但我从pear dev邮件列表中得到的反馈建议我这样做了。简单地说,我对Password.php本地副本中的_createPernounceable函数做了一些小修改。我认为修改后的函数会产生更多可发音的字符串。最初的机制是通过成对的(辅音,元音)来构建字符串。我使用了一个初始辅音,然后是成对的,(元音,辅音)。初始辅音是从与其他辅音不同的声音数组中选择的。“rt”在单词的开头不可发音,但在它前面有元音时才可以发音。我已经将差异粘贴到下面的复制代码字段中。复制代码:---------------? 密码.diff文本索引:Password.php===================================================================RCS文件:/repository/pear/Text_Password/Password.php,v检索修订版1.7diff-u-r1.7密码.php---密码.php 2003年4月3日11:37:19-0000 1.7+++密码.php 2003年12月8日11:10:04-0000@@ -415,26 +415,45 @@/***元音和元音列表*/-$v=数组('a','e','i','o','u','ae','ou','io',-'ea','ou','ia','ai'+$v=数组('a','e','i','o','u','oo','ou','io',+“ia”、“ai”、“ee”、“yo”);/**-*辅音和辅音列表+*初学者辅音和辅音列表*/-$c=数组('b','c','d','g','h','j','k','l','m',-“n”、“p”、“r”、“s”、“t”、“u”、“v”、“w”、,-'tr','cr','fr','dr','wr','pr','th',-“ch”、“ph”、“st”、“sl”、“cl”+$c1=数组('b','c','d','f','g','h','j','k','l','m',+‘n’,‘p’,‘q’,‘r’,‘s’,‘t’,‘v’,‘w’,‘z’,+'bl','br','ch','cl','cr','dr','dw','gh',+'gl','gr','kl','kn','kr','kw','mr','nr',+'ph','pl','pr','pw','sc','sh','sm','sn',+'sp','sr','st','sw','th','tl','tr','tw',+“wh”、“wr”、“qu”);+ /**+*后继辅音和辅音列表+ */+$cn=数组('b','c','d','f','g','h','j','k','l','m',+‘n’,‘p’,‘q’,‘r’,‘s’,‘t’,‘v’,‘w’,‘z’,+'bb','bs','ch','ck','cs','ct','ds','ff',+'fs','ft','gg','gs','ht','ks','ld','lf',+'lg','lm','ln','lp','ls','lt','lv',+'ms','nd','ng','nk','nn','ns','nt','ps',+'pt','qs','rb','rc','rd','rf','rg','rk',+'rm','rn','rp','rr','rs','rt','rv','rz',+“sh”、“sk”、“sp”、“ss”、“st”、“th”、“ts”、“tt”,+'vs','wk','wn','wp','ws','wt'++ );$v_count=12;-$c_count=29;--$_Text_Password_NumberOfPossibleCharacters=$v_count+$c_count;+$c1_count=54;+$cn_count=80;-对于($i=0;$i<$length;$i++){-$retVal.=美元$c[mt_rand(0,$c_count-1)]$v[mt_rand(0,$v_count-1)];+$_Text_Password_NumberOfPossibleCharacters=$v_count+$cn_count;+$retVal=$c1[mt_rand(0,$c1_count-1)];+for($i=strlen($retVal)$i<$长度$i++){+$retVal.=美元$v[mt_rand(0,$v_count-1)]$cn[mt_土地(0,$cn_count-1)];}return substr($retVal,0,$length);

评论

 [2004-01-09 16:44 UTC]xnoguer at php点网
一些新元音(ee,oo)和一些辅音(wh,pw,tw,等等)似乎不太容易发音,因此要记住,除非你是英语使用者,这有点违背了包装的目的。很难找到一组任何可能的语言都能发音的元音和辅音,但我认为组越小越好。我的观点可能受到这样一个事实的限制,即我是一个讲西班牙语的人。。。
 [2004-01-09 21:27 UTC]mj(百万焦耳)
我同意Xavier的担忧。杰克:你觉得在密码($c1)的开头添加新的辅音,然后保留后面的元音和辅音是什么?这应该不会使密码的发音更加困难。
 [2004-07-11 22:50 UTC]古鲁盖克
尊敬的维护人员:,您的包text_password当前有1个打开的错误。我们敦促您采取必要步骤解决在您方便的时候尽快报告问题。如果这个bug问题还没有解决,那么你就是恳请采取必要措施确保迅速解决问题。如果你已经解决了报告的问题,请随时更改尽快显示错误状态。当做大卫·科斯塔PEAR质量保证pear-qa@lists.php.net
 [2004-07-12 06:29 UTC]jackh at iol dot ie(2004年7月12日06:29时)
Xavier和mj,谢谢你的评论。直到现在,当我收到提醒时,我才看到他们。对此我深表歉意。我一定没有正确使用这个系统。当我根据自己的需要修改Tex_password时,我正在处理一个特定的应用程序。更改它的原因是,我需要多次调用此函数,而不会生成重复密码。我认为最初的算法没有提供足够的组合。我完全同意你的观点,即我所加入的组合是以英语为中心的。可以修改该函数,为元音和辅音数组添加另一个维度。此维度将选择一种语言。不同语言的流利使用者可以维护这些语言的数组。该语言可以作为可选参数传入_createPernounceable。如果没有传入语言,则函数可以默认为英语或中性数组。或者,对于一个相当小的函数来说,这可能是过分的,也许mj的建议是一个适当的折衷方案?我很高兴能接受更有经验的贡献者的建议。这是我第一次尝试为开源社区做贡献。谢谢,杰克
 [2008-11-30 13:58 UTC]mj(百万焦耳)(马丁·詹森)
FWIW,Text_Password将在某个时候折叠到一个名为Text_Random的新包中。这个功能请求很可能不会在Text_Password中被修复。相反,您必须等待Text_Random。请参见http://news.php.net/php.pear.dev/51190了解详细信息。