当前位置:首页 » 密码管理 » 传递密码怎么用
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

传递密码怎么用

发布时间: 2022-06-30 08:32:34

‘壹’ 如何用邮件安全地传递密码

挖人无情人千万人确认

‘贰’ 间谍情报运用密码进行传递通讯的方法有哪五种

一是阴符、阴书。东汉许慎《说文解字》对"符"的释义是:"符,信也......分而相合。"《孙子兵法·九地篇》已指出"夷关折符",曹操与杜牧分别注道:"谋定,则闭关以绝其符信,勿通其使","夷关折符者,不令国人出入。盖恐敌人有间使潜来,或藏形隐迹,由危历险,或窃符盗信,假托姓名,而来窥我也。"阴符是刻画有特殊符号或制成不规则牙状边缘的信物凭证,其作用为传递情报,调兵遣将。《六韬·阴符第二十四》有专章论述古代阴符的密码:"主与将有阴符凡八等:有大胜克敌之符,长一尺。破军擒将之符,长九寸。降城得邑之符,长八寸。却敌报远之符,长七寸。警众坚守之符,长六寸。请粮益兵之符,长五寸。败军亡将之符,长四寸。失利亡士之符,长三寸。诸奉使行符,稽留者,若符事泄,闻者、告者皆诛之。八符者,主将秘闻。所以阴通言语不泄中外相知之术,敌虽圣智,莫之能识。"

这种由主将事先暗自规定尺寸长短的阴符,其所代表的"言语"就是一种情报密码。阴符有铜制、玉制、木制、竹制等。阴符也可以作为一种临时的特殊通行证。《墨子·号令第七十》中说:"有分守者,大将必与为信符。大将使人行守,操信符,信符不合及号不相应者,伯长以上辄止之,以闻大将。"一般铜符是为传递情报调动部队之用;木、竹符为特使"出入征险"通行之用。譬如战国信陵君派女间谍如姬窃取魏王铜符,然后"矫魏王令代晋鄙",夺兵权而救赵国。楚怀王发给鄂君竹符,遣其巡历长江沿岸。

阴书是比阴符更进一步的情报传递密码。《六韬·阴书第二十五》也有专章论述:"武王问太公曰:其事烦多,符不能明,相去辽远,言语不通;为之奈何?太公曰:诸有阴事大虑当用书不用符。主以书遣将,将以书问主,书皆一合而再离,三发而一知。再离者分书为三部;三发而一知者,言三人,人操一分,相参而不相知情也。此谓阴书。敌总圣智,莫之能识。"所谓"一合而再离",即将一份完整的情报截成三份,分写在三枚竹简上;所谓"三发而一知",即派三个人分别持此三枚竹简,分别出发,到达目的地后,再将三枚竹简合而为一,便能读通其意义了。这样,送情报的人互不得知传送情报的内容,即使有一人或二人被敌方捕获,也不会泄密。

二是暗号。以暗号互通信息或传递情报,古已有之。记之较详的是明代无名氏兵书《草庐经略·军号》:"军营有夜号也,恃以防奸也。或以物,或以字暮夜往来逻军,必低声询问,不知号者,必奸细也。号须记载,以便稽查,毋得重复,亦勿有心,恐有心则为人所觉,而重复则雷同,尤使敌易测也。营外巡视,伏路之军,亦别有号,盘诘外奸,使无所容。先发外号,遣之使出,始发内号,勿令预闻,恐敌擒获因而泄露也。"

"路符"也是一种秘密暗号。譬如在某人必经途中,在泥土上画一个大圆圈,表示前面有人接头;画一条蛇,表示执行任务时有人协助;画五个并排三角形,表示将进行刺杀行动。

"体态语"有多种多样,有手势语、身势语、情态语等。譬如遇有紧急情况,则举扇过头,轻摇三下,表示招人参加战事;又如把右手拇指握在其余四指之外,放在头上,则表示"处境危险,紧急求助"的含意。

此外,还有一种以物品读音的谐声来作为一种情报暗号。譬如北宋种世衡派间谍法崧前往西夏进行反间,"遣法崧以枣及画龟为书置蜡丸中,遗旺荣,喻以'早'、'归'之意"。"枣"谐"早"音,"龟"谐"归"音。这一类传递情报的暗号需事先约定,但它与阴符一样,所容纳的信息量很小,因此所传递的情报内容也就很有限了。

三是字验。宋仁宗时诏令天章阁待制曾公亮编撰的《武经总要》卷十五曾详细记载了这一情报通讯方法。所谓"字验",即将各种情报用四十字的一首诗中的一些字来表示。具体要求是:所选的诗不得有重复之字,诗中的每一个字依次表示某一情报。如需报告某一情报,便在诗中规定的某一个字下加上一个符号即可。对方收到后,只需查对密码本即可译出情报内容。譬如《武经总要》记载道:先将军中联络的有关情报编为四十项,即:请弓、请箭、请刀、请甲、请枪旗、请锅幕、请马、请衣赐、请粮料、请草料、请牛车、请船、请攻城守具、请添兵、请移营、请进军、请退军、请固守、未见贼、见贼讫、贼多、贼少、贼相敌、贼添兵、贼移营、贼进兵、贼退军、贼固守、围得贼城、解围城、被贼围、贼围解、战不胜、战大胜、战大捷、将土投降、将士叛、士卒病、都将病、战小胜。

如果出现了四十项中的某一项或几项的情况,则书写一首五言律诗(五字一句,共八句,正好四十个字),按四十项的次序,用一个记号写在五言律诗的第几个字下即可。譬如出现了"被贼围"的情况,按四十项的次序是第三十一项,于是随意写一首五言律诗,譬如用白居易的《赋得古原草送别》一诗:"离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。远芳侵古道,晴翠接荒城。又送王孙去,萋萋满别情。"然后在这首诗的第三十一个字"又送王孙去"的"又"字下加个记号,即表示"被贼围"的情报。

四是反切密码。这是明代名将戚继光所发明创制。它是用古代反切的注音方法来编制密码。反切注音方法为:用两个字拼合成另一个字的音。即取反切上字的声母和反切下字的韵母及声调,切出所需注释字的字音。譬如要注"谍"这个字音,则用"得斜"两个字来注音,即取"得"字的声母"d";取"斜"字的韵母"ie"及"斜"宇的声调,拼切成dié音,就是"谍"的字音。

反切密码法利用反切的原理编了两首歌:

柳边求气低,波他争日时。莺蒙语出喜,打掌与君知。

用这首歌的前十五个字作为不同声母的代表字。即柳字代表"1";边字代表"b",以下依次类推(注意:古字的读音有些与现代汉语读音不同)。

另一首歌是:

春花香,秋山开,嘉宾欢歌须金杯,孤灯光辉烧银缸。之东郊,过西桥,鸡声催初天,奇梅歪遮沟。

用这首歌的三十六个字作为不同韵母的代表字(注意:其中的金与宾、梅与杯、遮与奇的韵母相同,实际上只有三十三个不同韵母的代表字)。

然后将十五个声母代表字和三十六个韵母代表字按次编上号码,再将当时字音的八个声调也按顺序编上号码。这就形成了传递情报的反切密码,可以用此注出任何字的读音。戚继光由此还编了一本《八音字义便览》来作为教材,进行专门训练。

五是明码加密。清末时,电报技术输入中国。1871年由上海大北水线电报公司,选用了六千八百九十七个汉字,代以四码数字,编成中国最早的电报明码本。但是为了保密,又设计了将明码本加密的方法,形成了较复杂的密码。这一密码被清末军事及商业情报机构使用,传递发送了众多方面的间谍情报。

明码加密的具体方法是:譬如"布"这个字的电报电码为1530,加密和减密的钥匙均为9853。先用明码的四个数字分别与加密钥匙的四个数字相加:1加9为"10",凡"10"都作"0";5加8为"13",须隐去"10",只作"3";3加5为"8";0(看作"10")加3为"13",须隐去"10",只作3。那么"布"的明码1530就成了密码0383。接收到这四个密码后,再以此减去解密钥匙的四个数字,即:0(看作"10")减9为"1";3(看作前已隐去的"10"再加上3为13)减8为"5";8减5为"3";3减3为"0",解密后的数字为1530,又回到明码上去了。

‘叁’ jsp 怎么传递加密后的账号密码

你这个login,jsp里面form发送一个post请求给action多好,action里面调用数据库,然后从数据库里面找和用户名匹配的数据,找到了,在判断密码,是和就是这个用户所用的密码,应该在数据库里一一对应吧。就这些吧。判断用户和账号为空什么的写个js脚本判断一下

‘肆’ 摩斯密码是什么,用手敲打就能传递信息

就是 滴 答 的两种声音 每个字母都有对应的表达方式~ 这个很古老了~~ 专业的人才能听出来~

‘伍’ PHP中如何利用session传递账号密码

a.php
<?php
if(session_id($_GET['sid'])){
session_id('sid');//如url中有sessionid,那么取出给了session,如果没有,让下面的 session_start来从cookie中获取,如cookie中也没有,那么就创建
但是上面的写法就不合适了.
}
session_start();
$_SESSION['username']='aaaa';
?>
b.php
<?php
if(session_id($_GET['sid'])){
session_id('sid');//如url中有sessionid,那么取出给了session,如果没有,让下面的 session_start来从cookie中获取,如cookie中也没有,那么就创建
但是上面的写法就不合适了.
}
session_start();
echo $_SESSION['username'];

?>
注意,先执行a.php然后执行b.php,并且必须在同一个浏览器执行。

‘陆’ 如何在 SQL Server 实例之间传输登录和密码

有关此过程的更多信息,请参见 SQL Server 联机丛书中的“sp_addlogin (T-SQL)”主题。
默认情况下,只有 sysadminfixed 服务器角色的成员可以从 sysxlogins 表中进行选择。除非 sysadmin 角色的成员授予了必要的权限,否则最终用户将无法创建或运行这些存储过程。
此方法不会尝试传输特定登录的默认数据库信息,因为默认数据库并不始终存在于目标服务器中。要为某个登录定义默认数据库,您可以使用 sp_defaultdb 系统存储过程,方法是将登录名和默认数据库作为参数传递给该过程。有关使用此过程的更多信息,请参见 SQL Server 联机丛书中的“sp_defaultdb”主题。
在 SQL Server 实例之间传输登录的过程中,如果源服务器的排序顺序不区分大小写,而目标服务器的排序顺序区分大小写,则在将登录传输到目标服务器后,必须以大写形式输入密码中的所有字母字符。如果源服务器的排序顺序区分大小写,而目标服务器的排序顺序不区分大小写,则无法通过本文所述的步骤使用已传输的登录进行登录,除非原始密码不包括字母字符或原始密码中的所有字母字符都是大写字符。如果两个服务器都区分大小写或者都不区分大小写,则不会出现此问题。这是 SQL Server 处理密码的方式所带来的副作用。有关更多信息,请参见 SQL Server 7.0 联机丛书中的“Effect on Passwords of Changing Sort Orders”(更改排序顺序对密码的影响)主题。
在目标服务器上运行“sp_help_revlogin”脚本的输出时,如果该目标服务器已经定义了一个登录,且该登录名与脚本输出中的某个登录名相同,则在执行“sp_help_revlogin”脚本的输出时,可能会看到下面的错误:
Server:Msg15025,Level16,State1,Proceresp_addlogin,Line56
Thelogin'test1'alreadyexists.
同样,如果此服务器上存在其他登录,且其 SID 值与您要尝试添加的登录的 SID 值相同,则会收到以下错误消息:
Server:Msg15433,Level16,State1,Proceresp_addlogin,Line93
Suppliedparameter@sidisinuse.
因此,您必须仔细复查这些命令的输出,检查 sysxlogins 表的内容,并相应地解决这些错误。
特定登录的 SID 值用作在 SQL Server 中实现数据库级别访问的基础。因此,如果同一登录在该数据库级别(在该服务器上的两个不同数据库中)有两个不同的 SID 值,则此登录将仅能访问其 SID 与该登录的 syslogins 中的值相匹配的数据库。如果所讨论的两个数据库已从两个不同的服务器合并在一起,则可能出现这种情形。要解决此问题,必须使用 sp_dropuser 存储过程从具有不匹配 SID 的数据库中手动删除所讨论的登录,然后再使用 sp_adser 存储过程添加它。

‘柒’ url如何传入用户密码

用户密码一般不在url中传递,常用的是用post方法提交表单。
如果是要放到url中必须加密(aes常用的),比如:http://***?usr=admin&pwd=rafd8324fdfdsffsdf=

‘捌’ web.py怎样安全地传递密码

保护密码最好的的方式就是使用带盐的密码hash(salted password hashing).对密码进行hash操作是一件很简单的事情,但是很多人都犯了错。接下来我希望可以详细的阐述如何恰当的对密码进行hash,以及为什么要这样做。
重要提醒
如果你打算自己写一段代码来进行密码hash,那么赶紧停下吧。这样太容易犯错了。这个提醒适用于每一个人,不要自己写密码的hash算法 !关于保存密码的问题已经有了成熟的方案,那就是使用phpass或者本文提供的源码。
什么是hash
hash("hello") =
hash("hbllo") =
hash("waltz") =

Hash算法是一种单向的函数。它可以把任意数量的数据转换成固定长度的“指纹”,这个过程是不可逆的。而且只要输入发生改变,哪怕只有一个bit,输出的hash值也会有很大不同。这种特性恰好合适用来用来保存密码。因为我们希望使用一种不可逆的算法来加密保存的密码,同时又需要在用户登陆的时候验证密码是否正确。
在一个使用hash的账号系统中,用户注册和认证的大致流程如下:
1, 用户创建自己的账号
2, 用户密码经过hash操作之后存储在数据库中。没有任何明文的密码存储在服务器的硬盘上。
3, 用户登陆的时候,将用户输入的密码进行hash操作后与数据库里保存的密码hash值进行对比。
4, 如果hash值完全一样,则认为用户输入的密码是正确的。否则就认为用户输入了无效的密码。
5, 每次用户尝试登陆的时候就重复步骤3和步骤4。

在步骤4的时候不要告诉用户是账号还是密码错了。只需要显示一个通用的提示,比如账号或密码不正确就可以了。这样可以防止攻击者枚举有效的用户名。
还需要注意的是用来保护密码的hash函数跟数据结构课上见过的hash函数不完全一样。比如实现hash表的hash函数设计的目的是快速,但是不够安全。只有加密hash函数(cryptographic hash functions)可以用来进行密码的hash。这样的函数有SHA256, SHA512, RipeMD, WHIRLPOOL等。
一个常见的观念就是密码经过hash之后存储就安全了。这显然是不正确的。有很多方式可以快速的从hash恢复明文的密码。还记得那些md5破解网站吧,只需要提交一个hash,不到一秒钟就能知道结果。显然,单纯的对密码进行hash还是远远达不到我们的安全需求。下一部分先讨论一下破解密码hash,获取明文常见的手段。
如何破解hash
字典和暴力破解攻击(Dictionary and Brute Force Attacks)
最常见的破解hash手段就是猜测密码。然后对每一个可能的密码进行hash,对比需要破解的hash和猜测的密码hash值,如果两个值一样,那么之前猜测的密码就是正确的密码明文。猜测密码攻击常用的方式就是字典攻击和暴力攻击。
Dictionary Attack

Trying apple : failed
Trying blueberry : failed
Trying justinbeiber : failed
...
Trying letmein : failed
Trying s3cr3t : success!

字典攻击是将常用的密码,单词,短语和其他可能用来做密码的字符串放到一个文件中,然后对文件中的每一个词进行hash,将这些hash与需要破解的密码hash比较。这种方式的成功率取决于密码字典的大小以及字典的是否合适。
Brute Force Attack

Trying aaaa : failed
Trying aaab : failed
Trying aaac : failed
...
Trying acdb : failed
Trying acdc : success!

暴力攻击就是对于给定的密码长度,尝试每一种可能的字符组合。这种方式需要花费大量的计算机时间。但是理论上只要时间足够,最后密码一定能够破解出来。只是如果密码太长,破解花费的时间就会大到无法承受。
目前没有方式可以阻止字典攻击和暴力攻击。只能想办法让它们变的低效。如果你的密码hash系统设计的是安全的,那么破解hash唯一的方式就是进行字典或者暴力攻击了。
查表破解(Lookup Tables)
对于特定的hash类型,如果需要破解大量hash的话,查表是一种非常有效而且快速的方式。它的理念就是预先计算(pre-compute)出密码字典中每一个密码的hash。然后把hash和对应的密码保存在一个表里。一个设计良好的查询表结构,即使存储了数十亿个hash,每秒钟仍然可以查询成百上千个hash。
如果你想感受下查表破解hash的话可以尝试一下在CraskStation上破解下下面的sha256 hash。

反向查表破解(Reverse Lookup Tables)
Searching for hash(apple) in users' hash list... : Matches [alice3, 0bob0, charles8]
Searching for hash(blueberry) in users' hash list... : Matches [usr10101, timmy, john91]
Searching for hash(letmein) in users' hash list... : Matches [wilson10, dragonslayerX, joe1984]
Searching for hash(s3cr3t) in users' hash list... : Matches [bruce19, knuth1337, john87]
Searching for hash(z@29hjja) in users' hash list... : No users used this password

这种方式可以让攻击者不预先计算一个查询表的情况下同时对大量hash进行字典和暴力破解攻击。
首先,攻击者会根据获取到的数据库数据制作一个用户名和对应的hash表。然后将常见的字典密码进行hash之后,跟这个表的hash进行对比,就可以知道用哪些用户使用了这个密码。这种攻击方式很有效果,因为通常情况下很多用户都会有使用相同的密码。
彩虹表 (Rainbow Tables)
彩虹表是一种使用空间换取时间的技术。跟查表破解很相似。只是它牺牲了一些破解时间来达到更小的存储空间的目的。因为彩虹表使用的存储空间更小,所以单位空间就可以存储更多的hash。彩虹表已经能够破解8位长度的任意md5hash。彩虹表具体的原理可以参考http://www.project-rainbowcrack.com/
下一章节我们会讨论一种叫做“盐”(salting)的技术。通过这种技术可以让查表和彩虹表的方式无法破解hash。
加盐(Adding Salt)
hash("hello") =
hash("hello" + "QxLUF1bgIAdeQX") =
hash("hello" + "bv5PehSMfV11Cd") =
hash("hello" + "YYLmfY6IehjZMQ") =

查表和彩虹表的方式之所以有效是因为每一个密码的都是通过同样的方式来进行hash的。如果两个用户使用了同样的密码,那么一定他们的密码hash也一定相同。我们可以通过让每一个hash随机化,同一个密码hash两次,得到的不同的hash来避免这种攻击。
具体的操作就是给密码加一个随即的前缀或者后缀,然后再进行hash。这个随即的后缀或者前缀成为“盐”。正如上面给出的例子一样,通过加盐,相同的密码每次hash都是完全不一样的字符串了。检查用户输入的密码是否正确的时候,我们也还需要这个盐,所以盐一般都是跟hash一起保存在数据库里,或者作为hash字符串的一部分。
盐不需要保密,只要盐是随机的话,查表,彩虹表都会失效。因为攻击者无法事先知道盐是什么,也就没有办法预先计算出查询表和彩虹表。如果每个用户都是使用了不同的盐,那么反向查表攻击也没法成功。
下一节,我们会介绍一些盐的常见的错误实现。
错误的方式:短的盐和盐的复用
最常见的错误实现就是一个盐在多个hash中使用或者使用的盐很短。
盐的复用(Salt Reuse)
不管是将盐硬编码在程序里还是随机一次生成的,在每一个密码hash里使用相同的盐会使这种防御方法失效。因为相同的密码hash两次得到的结果还是相同的。攻击者就可以使用反向查表的方式进行字典和暴力攻击。只要在对字典中每一个密码进行hash之前加上这个固定的盐就可以了。如果是流行的程序的使用了硬编码的盐,那么也可能出现针对这种程序的这个盐的查询表和彩虹表,从而实现快速破解hash。
用户每次创建或者修改密码一定要使用一个新的随机的盐
短的盐
如果盐的位数太短的话,攻击者也可以预先制作针对所有可能的盐的查询表。比如,3位ASCII字符的盐,一共有95x95x95 = 857,375种可能性。看起来好像很多。假如每一个盐制作一个1MB的包含常见密码的查询表,857,375个盐才是837GB。现在买个1TB的硬盘都只要几百块而已。
基于同样的理由,千万不要用用户名做为盐。虽然对于每一个用户来说用户名可能是不同的,但是用户名是可预测的,并不是完全随机的。攻击者完全可以用常见的用户名作为盐来制作查询表和彩虹表破解hash。
根据一些经验得出来的规则就是盐的大小要跟hash函数的输出一致。比如,SHA256的输出是256bits(32bytes),盐的长度也应该是32个字节的随机数据。
错误的方式:双重hash和古怪的hash函数
这一节讨论另外一个常见的hash密码的误解:古怪的hash算法组合。人们可能解决的将不同的hash函数组合在一起用可以让数据更安全。但实际上,这种方式带来的效果很微小。反而可能带来一些互通性的问题,甚至有时候会让hash更加的不安全。本文一开始就提到过,永远不要尝试自己写hash算法,要使用专家们设计的标准算法。有些人会觉得通过使用多个hash函数可以降低计算hash的速度,从而增加破解的难度。通过减慢hash计算速度来防御攻击有更好的方法,这个下文会详细介绍。
下面是一些网上找到的古怪的hash函数组合的样例。
md5(sha1(password))
md5(md5(salt) + md5(password))
sha1(sha1(password))
sha1(str_rot13(password + salt))
md5(sha1(md5(md5(password) + sha1(password)) + md5(password)))

不要使用他们!
注意:这部分的内容其实是存在争议的!我收到过大量邮件说组合hash函数是有意义的。因为如果攻击者不知道我们用了哪个函数,就不可能事先计算出彩虹表,并且组合hash函数需要更多的计算时间。
攻击者如果不知道hash算法的话自然是无法破解hash的。但是考虑到Kerckhoffs’s principle,攻击者通常都是能够接触到源码的(尤其是免费软件和开源软件)。通过一些目标系统的密码–hash对应关系来逆向出算法也不是非常困难。
如果你想使用一个标准的”古怪”的hash函数,比如HMAC,是可以的。但是如果你的目的是想减慢hash的计算速度,那么可以读一下后面讨论的慢速hash函数部分。基于上面讨论的因素,最好的做法是使用标准的经过严格测试的hash算法。
hash碰撞(Hash Collisions)
因为hash函数是将任意数量的数据映射成一个固定长度的字符串,所以一定存在不同的输入经过hash之后变成相同的字符串的情况。加密hash函数(Cryptographic hash function)在设计的时候希望使这种碰撞攻击实现起来成本难以置信的高。但时不时的就有密码学家发现快速实现hash碰撞的方法。最近的一个例子就是MD5,它的碰撞攻击已经实现了。
碰撞攻击是找到另外一个跟原密码不一样,但是具有相同hash的字符串。但是,即使在相对弱的hash算法,比如MD5,要实现碰撞攻击也需要大量的算力(computing power),所以在实际使用中偶然出现hash碰撞的情况几乎不太可能。一个使用加盐MD5的密码hash在实际使用中跟使用其他算法比如SHA256一样安全。不过如果可以的话,使用更安全的hash函数,比如SHA256, SHA512, RipeMD, WHIRLPOOL等是更好的选择。
正确的方式:如何恰当的进行hash
这部分会详细讨论如何恰当的进行密码hash。第一个章节是最基础的,这章节的内容是必须的。后面一个章节是阐述如何继续增强安全性,让hash破解变得异常困难。
基础:使用加盐hash
我们已经知道恶意黑客可以通过查表和彩虹表的方式快速的获得hash对应的明文密码,我们也知道了通过使用随机的盐可以解决这个问题。但是我们怎么生成盐,怎么在hash的过程中使用盐呢?
盐要使用密码学上可靠安全的伪随机数生成器(Cryptographically Secure Pseudo-Random Number Generator (CSPRNG))来产生。CSPRNG跟普通的伪随机数生成器比如C语言中的rand(),有很大不同。正如它的名字说明的那样,CSPRNG提供一个高标准的随机数,是完全无法预测的。我们不希望我们的盐能够被预测到,所以一定要使用CSPRNG。