注册
登录
S公司
搜索
在中
包装
此网站(使用Yahoo!)
开发人员
开发人员邮件列表
普通邮件列表
SVN提交邮件列表
主要
支持
文档
包装
项目包建议书
开发人员
漏洞
搜索Bug
程序包错误统计信息
打包回家
|
报告新错误
|
新建搜索
|
发展路线图
状态:
正常开放
|
反馈
|
全部
|
自版本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.7
diff-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
了解详细信息。