我想弄清楚如何提示input密码,并让用户input回显为星号( ******** ) 所以最近,我接手了创build一个远程服务器的项目,该服务器可以使用Python中的套接字模块进行连接。 它还没有完成,因为我正在使控制台用于连接到服务器的过程。 我正在尝试做一个login窗口提示用户input他们的用户名和密码,虽然当input密码,我正在寻找星号打印,如普通密码input(即 – Sekr3t echo'd为:* * * * * *)。 经过几天的研究,我差不多完成了,但还有一个最后的错误让我疯狂(我完全无法解决它)。 注 – 我知道有一个getpass模块可以用来取代这个,更容易,但没有echo'd不是我正在寻找。 这里是我到目前为止的密码login代码,我不明白为什么它不回显星号: import msvcrt import sys def login(prompt = '> '): write = sys.stdout.write for x in prompt: msvcrt.putch(x) passw = "" while 1: x = msvcrt.getch() if x == '\r' or x == '\n': break if x […]
我可以使用getpass()来获取密码。 不过,手册页说: 这个function已经过时了。 不要使用它。 目前从用户terminal获取密码的方式是什么,而不是以符合POSIX的方式回显密码? [本来我说的是“可移植的”,但我的意图是避免使用过时的function。]
我正在使用代码$enrypt=md5($pass)并将$encrypt插入数据库。 我想找出一种方法来解密他们。 我试过使用解密软件,但它说,哈希应该是正好16个字节。 有什么办法来解密或使其16字节的MD5散列? 我的哈希看起来像这样: c4ca4238a0b923820dcc
场景:交互式CLI Python程序,需要密码。 这也意味着,没有可能的GUI解决scheme。 在bash中,我可以在不通过屏幕重新提示的情况下读取密码 read -s 有没有类似的Python? 也就是说, password = raw_input('Password: ', dont_print_statement_back_to_screen) 替代方法:在将input的字符发送回屏幕(也称为浏览器样式)之前,用“*”replaceinput的字符。
我有一个Bash脚本,用于访问twitter并在特定情况下popup一个Growl通知。 什么是最好的方式来处理与脚本存储我的密码? 我想在GitHub上发布这个脚本,但是我想知道在这样做的时候保持我的login名/密码是否是私有的最好方法是。 目前密码保存在脚本本身中。 我推不动,因为所有旧的提交将包含密码。 没有密码的开发不是一种select。 我想我应该把密码存储在一个外部configuration文件中,但是我想在我尝试并把一些东西放在一起之前,检查是否有一个确定的方法来处理这个问题。
Python是否有一个内置的,使用密码编码/解码string的简单方法? 像这样的东西: >>> encode('John Doe', password = 'mypass') 'sjkl28cn2sx0' >>> decode('sjkl28cn2sx0', password = 'mypass') 'John Doe' 所以string“John Doe”被encryption为“sjkl28cn2sx0”。 为了得到原始的string,我会用“mypass”这个密钥在我的源代码中“解锁”这个string。 我想这是我可以使用密码encryption/解密Word文档的方式。 我想使用这些encryption的string作为URL参数。 我的目标是混淆,不是强大的安全; 没有任何关键的编码。 我意识到我可以使用一个数据库表来存储键和值,但我试图是极简主义的。
.NET框架提供了6种不同的哈希algorithm: MD5:16字节(散列时间500MB:1462毫秒) SHA1:20个字节(1644毫秒) SHA256:32个字节(5618毫秒) SHA384:48个字节(3839毫秒) SHA512:64个字节(3820毫秒) RIPEMD:20个字节(7066毫秒) 这些function中的每一个function都不相同 MD5是最快的,RIPEMD是最慢的。 MD5的优点是它适合内置的Guidtypes。 这使得它很容易用于识别。 然而,MD5很容易受到碰撞攻击 ,SHA1也是脆弱的,但程度较低。 我应该在什么条件下使用散列algorithm? 具体问题我真的很好奇,看到回答是: MD5不被信任? 在正常情况下,当你使用MD5algorithm而没有恶意的意图,没有任何第三方有任何恶意的意图时,你会期待任何冲突(意味着两个任意字节[]产生相同的散列) RIPEMD比SHA1好多less? (如果它更好)计算速度慢5倍,但散列大小与SHA1相同。 散列文件名(或其他短string)时获得非恶意冲突的几率是多less? (例如,具有相同MD5散列的2个随机文件名)(使用MD5 / SHA1 / SHA2xx)一般来说,非恶意冲突的几率是多less? 这是我使用的基准: static void TimeAction(string description, int iterations, Action func) { var watch = new Stopwatch(); watch.Start(); for (int i = 0; i < iterations; i++) { func(); } watch.Stop(); Console.Write(description); […]
有configuration(applicationContext-security.xml): <authentication-manager alias="authenticationManager"> <authentication-provider> <password-encoder hash="sha"/> <jdbc-user-service data-source-ref="dataSource"/> </authentication-provider> </authentication-manager> 从另一端有SQL从我的dataSource (这是JdbcDaoImpl ): … public static final String DEF_USERS_BY_USERNAME_QUERY = "select username,password,enabled " + "from users " + "where username = ?"; … 现在在这个代码中有关于sha字,所以从标准Spring Security users表中select的密码不是编码的。 也许,我应该在我的hibernate映射configuration中为password列提供一些sha属性: <class name="model.UserDetails" table="users"> <id name="id"> <generator class="increment"/> </id> <property name="username" column="username"/> <property name="password" column="password"/> <property name="enabled" column="enabled"/> <property […]
当我想放置一个login系统时,我总是比较给定密码的MD5和它在服务器端用户表中的值。 然而,我的一个朋友告诉我,一个“清晰”的密码可以被networking软件嗅探到。 所以我的问题是:散列在客户端的密码是一个好主意? 它比在服务器端散列它好吗?
我想在PHP中生成一个随机密码。 不过,我得到所有'一个和返回types的数组types,我希望它是一个string。 任何想法如何纠正代码? 谢谢。 function randomPassword() { $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"; for ($i = 0; $i < 8; $i++) { $n = rand(0, count($alphabet)-1); $pass[$i] = $alphabet[$n]; } return $pass; }