精华内容
下载资源
问答
  • 为什么RSA公钥每次加密得到的结果都不一样

    万次阅读 多人点赞 2017-07-10 16:50:23
    <<OpenSSL和Python实现RSA Key公钥加密私钥解密&...为什么私钥对同一数据进行签名加密的结果是一样的,使用公钥进行加密就不一样了呢? 的,这个问题跟对数据的padding即填...

    <<OpenSSL和Python实现RSA Key公钥加密私钥解密>>中提到,发现使用RSA公钥对同一数据加密,每次的结果都不一样。百度一下,很多人都有这个疑问,但并没有看到详细的分析解答,即使有人说是因为padding填充的原因,也都是一带而过。

    为什么私钥对同一数据进行签名加密的结果是一样的,使用公钥进行加密就不一样了呢?
    是的,这个问题跟对数据的padding即填充有关,详细说来,是跟PKCS #1 v1.5指定的padding方式有关,下面对这个问题进行详细的说明。

    1. 问题的来源

    重复下这个问题的来源:

    1.1 准备测试数据

    将字符串"I Love China!"保存到msg.bin作为测试数据

    $ echo -n "I Love China!" > msg.bin
    $ hexdump -Cv msg.bin 
    00000000  49 20 4c 6f 76 65 20 43  68 69 6e 61 21           |I Love China!|
    0000000d
    

    随机生成测试用的私钥key.pem,并导出公钥key_pub.pem:

    $ openssl genrsa -out key.pem -f4 2048
    Generating RSA private key, 2048 bit long modulus
    ........+++
    .......+++
    e is 65537 (0x10001)
    $ openssl rsa -in key.pem -pubout -out key_pub.pem
    writing RSA key
    

    1.2 使用私钥对同一数据签名

    使用私钥key.pem对msg.bin进行两次签名,签名结果分别为msg.bin.sig1和msg.bin.sig2:

    $ openssl dgst -sha256 -out msg.bin.sig1 -sign key.pem msg.bin
    $ openssl dgst -sha256 -out msg.bin.sig2 -sign key.pem msg.bin 
    $ md5sum msg.bin.sig1 msg.bin.sig2
    4d10a2163f92f90f114126de2371deb8  msg.bin.sig1
    4d10a2163f92f90f114126de2371deb8  msg.bin.sig2
    

    从签名数据的md5校验和看,msg.bin.sig1和msg.bin.sig2的md5值一样,其内容显然是一样的。

    1.3 使用公钥对同一数据加密

    使用公钥key_pub.pem对msg.bin进行两次加密,加密结果分别为msg.bin.enc1和msg.bin.enc2:

    $ openssl rsautl -in msg.bin -out msg.bin.enc1 -inkey key_pub.pem -pubin -encrypt
    $ openssl rsautl -in msg.bin -out msg.bin.enc2 -inkey key_pub.pem -pubin -encrypt
    $ md5sum msg.bin.enc1 msg.bin.enc2
    19c3bf692e94eaf87770001181c5eb10  msg.bin.enc1
    f576f31a796332fcd3c4d3627ef4ad5d  msg.bin.enc2
    

    显然msg.bin.enc1与msg.bin.enc2的md5不一样,二者的内容也不一样,也就是说,使用同一个RSA公钥对同一段数据加密,两次加密的结果不一样。

    2. PKCS #1 v1.5指定的填充方式

    除了PKCS #1 v1.5指定的填充方式外,后续版本对填充方式进行了更新:

    • PKCS #1 v2.0 指定了针对加密使用的OAEP填充方式
    • PKCS #1 v2.1 又进一步指定了针对签名使用的PSS填充方式

    这里只讨论早期PKCS #1 v1.5指定的简单的填充方式,也是目前最常见的填充方式。

    RSA建议,为提高安全性,在新的应用中应逐步采用OAEP和PSS方式的进行填充。

    2.1 填充方式的描述

    不管是使用RSA私钥进行签名还是公钥进行加密,操作中都需要对待处理的数据先进行填充,然后再对填充后的数据进行加密处理。针对如何对内容进行填充,"[RFC2313] PKCS #1: RSA Encryption Version 1.5“的”8.1 Encryption-block formatting"节提供了详细的说明,原文如下:

    8.1 Encryption-block formatting
    
       A block type BT, a padding string PS, and the data D shall be
       formatted into an octet string EB, the encryption block.
    
                  EB = 00 || BT || PS || 00 || D .           (1)
    
       The block type BT shall be a single octet indicating the structure of
       the encryption block. For this version of the document it shall have
       value 00, 01, or 02. For a private- key operation, the block type
       shall be 00 or 01. For a public-key operation, it shall be 02.
    
       The padding string PS shall consist of k-3-||D|| octets. For block
       type 00, the octets shall have value 00; for block type 01, they
       shall have value FF; and for block type 02, they shall be
       pseudorandomly generated and nonzero. This makes the length of the
       encryption block EB equal to k.
    

    由于篇幅的原因,这里没有列出针对这段话的"Notes"部分,可以通过点击原文链接查看。

    简单说来,PKCS #1 v1.5规定的填充格式为:

    EB = 00 || BT || PS || 00 || D
    

    其中:

     D: data (指待处理数据,即填充前的原始数据)
    PS: padding string (填充字符串)
    BT: block type (数据块类型)
    EB: encryption block (待加密的数据块,经过填充后结果)
    ||: 表示连接操作 (X||Y表示将X和Y的内容连接到一起)
    

    所以:

    "填充后数据" = "00" + "数据块类型" + "填充字符串" + "00" + "原始数据"
    

    "填充块类型"BT决定了紧挨着的"填充字符串"PS的内容。
    BT的可能取值包括00, 01和02:

    • 针对私钥处理的数据,BT取值为00或01;
      • BT取值为00时,PS为全00的字符串
      • BT取值为01时,PS为全FF的字符串,通过填充得到的整数会足够大,可以阻止某些攻击,因此也是推荐的填充方式
    • 针对公钥处理的数据,BT取值为02;
      • 使用伪随机的16进制字符串填充PS,而且每次操作进行填充的伪随机书都是独立的

    重点来了,针对公钥处理的数据,其填充内容为伪随机的16进制字符串,每次操作的填充内容都不一样。这就是为什么每次使用公钥加密数据得到的结果都不一样了。

    下面还是以本文开始的公钥加密数据进行说明。

    2.2 检查公钥加密的填充数据

    第1节中,使用公钥key_pub.pem对数据msg.bin进行了加密,我们使用私钥key.pem解密看看加密前填充的数据。

    2.2.1 解密msg.bin.enc1到msg.bin.enc1.dec

    $ openssl rsautl -in msg.bin.enc1 -out msg.bin.enc1.dec -inkey key.pem -decrypt -raw
    

    为了显示填充结构,这里用UltraEdit打开解密后的数据:
    msg.bin.enc1.dec的格式

    2.2.2 解密msg.bin.enc2到msg.bin.enc2.dec

    $ openssl rsautl -in msg.bin.enc2 -out msg.bin.enc2.dec -inkey key.pem -decrypt -raw
    

    为了显示填充结构,这里用UltraEdit打开解密后的数据:
    msg.bin.enc2.dec的格式

    上面两张图都是对数据msg.bin进行填充后,并且在使用公钥key_pub.pem加密前的内容:

    • 两个绿色部分是指定的“00”填充;
    • 紫色部分指定BT为02, 说明后续使用公钥处理的数据;
    • 灰色部分为PS,其根据BT=02,填充了伪随机数;
    • 橙色部分为原始数据。

    可见,两次填充的伪随机数是不一样,这样在使用公钥加密后其结果自然就不一样了。

    我看网上有帖子说JAVA下可以通过设置,使每次填充生成同样的内容,但这样似乎不够安全。
    我在openssl工具下没有找到相应的针对公钥操作时数据的填充设置选项。

    2.3 检查私钥加密的填充数据

    在第1节的签名例子中,使用私钥签名时,会先对数据计算SHA256编码,然后对SHA256哈希进行BER编码,再进行填充。
    我们可以通过对签名数据使用公钥解密后,看看填充数据的内容:

    $ openssl rsautl -in msg.bin.sig1 -out msg.bin.sig1.dec -inkey key_pub.pem -pubin -verify -raw
    

    注意:这里针对openssl rsault 命令使用-raw选项显示原始的数据结构,否则只会显示数据部分,而不会显示填充的内容

    按照惯例,为了显示填充结构,这里用UltraEdit打开解密后的签名数据:

    private-key operation填充结构
    上图中是对SHA256数据进行BER编码填充,使用私钥key.pem加密前的内容:

    • 两个绿色部分是指定的“00”填充;
    • 紫色部分指定BT为01, 说明后续是使用私钥处理的数据;
    • 灰色部分为PS,其根据BT=01,填充为全FF的数据;
    • 橙色部分为原始数据(即SHA256数据经过BER编码的内容)。

    再来假设下BT为00的情况:
    当BT为00时,此时填充的内容PS部分为全00,又由于填充格式中指定了两个“00”的分隔符,如果此时原始数据又是以“00”开始的话,如何划分填充数据和原始数据呢?
    显然此时是无法进行区分的,除非你知道原始数据由多长。幸运的是,我们基本上不会采用BT=00的填充方式,所以这种情况几乎不会发生。

    3. 一个"openssl rsautl"的bug

    最后,以我发现的一个"openssl rsautl"命令的bug来结束本文。

    在进行RSA公钥加密私钥解密时,如果加密的原始数据为全00,解密时通过-hexdump选项,无法正确在控制台显示原始数据,问题的复现步骤如下:

    生成16字节全0数据:

    $ dd if=/dev/zero of=data.bin bs=1 count=32
    32+0 records in
    32+0 records out
    32 bytes (32 B) copied, 0.000227422 s, 141 kB/s
    $ hexdump -Cv data.bin 
    00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000020
    

    使用公钥key.pem对全0数据data.bin进行加密:

    $ openssl rsautl -in data.bin -out data.bin.enc -inkey key_pub.pem -pubin -encrypt
    

    使用私钥解密数据,并直接在控制台显示:

    $ openssl rsautl -in data.bin.enc -inkey key.pem -decrypt -hexdump
    0020 - <SPACES/NULS>
    $ openssl rsautl -in data.bin.enc -inkey key.pem -decrypt -hexdump -raw
    0000 - 00 02 49 d0 3d 94 b6 90-8b 4e 40 e7 e4 d1 e2 90   ..I.=....N@.....
    0010 - e8 18 29 7f cf 5c c7 4a-bd cc 11 97 81 b3 a7 2b   ..)..\.J.......+
    0020 - c3 83 43 60 6d f9 d5 1d-e9 29 ab 51 d1 98 58 49   ..C`m....).Q..XI
    0030 - 22 5b ae d2 27 d4 da bd-2b 0d ba 54 7e 04 10 b1   "[..'...+..T~...
    0040 - 3b c7 a1 7d 57 02 d8 1c-53 41 91 52 2d ac 0b da   ;..}W...SA.R-...
    0050 - 1e 0e 0b 94 b3 90 0d 20-49 2c 94 84 22 87 30 c1   ....... I,..".0.
    0060 - 31 36 6e 18 e0 52 5e ec-59 f9 36 47 37 c6 45 1e   16n..R^.Y.6G7.E.
    0070 - 24 db dc 9a e4 d8 4e dc-b6 0b b2 57 f4 27 a9 56   $.....N....W.'.V
    0080 - 05 11 2d 03 75 75 64 58-87 b8 86 8d 4c 3d d5 f4   ..-.uudX....L=..
    0090 - 10 34 9d 24 ab 48 b4 27-58 59 f7 27 3b 9b 39 5a   .4.$.H.'XY.';.9Z
    00a0 - b4 ed 2e fb 1f 6e 1f 13-b3 cd 67 78 5f ec f5 63   .....n....gx_..c
    00b0 - ae 46 a7 17 87 f7 10 09-32 6d 30 dc 0e 1b 48 2a   .F......2m0...H*
    00c0 - 2c 27 09 bc 42 32 38 22-8c 76 c9 cb 8c e9 0d f9   ,'..B28".v......
    00d0 - 5e d0 c3 a8 af 8f cd 68-b6 96 3c 94 5c 3c d1      ^......h..<.\<.
    0100 - <SPACES/NULS>
    

    这里使用私钥解密后竟然没有原始数据,你说神奇不神奇?我第1次使用不带"-raw"选项操作,发现命令输出没有数据显示时简直大吃了一惊。
    还好,如果将解密的数据送到指定文件再显示则没有问题:

    $ openssl rsautl -in data.bin.enc -out data.bin.enc.dec -inkey key.pem -decrypt -raw
    $ hexdump -Cv data.bin.enc.dec 
    00000000  00 02 49 d0 3d 94 b6 90  8b 4e 40 e7 e4 d1 e2 90  |..I.=....N@.....|
    00000010  e8 18 29 7f cf 5c c7 4a  bd cc 11 97 81 b3 a7 2b  |..)..\.J.......+|
    00000020  c3 83 43 60 6d f9 d5 1d  e9 29 ab 51 d1 98 58 49  |..C`m....).Q..XI|
    00000030  22 5b ae d2 27 d4 da bd  2b 0d ba 54 7e 04 10 b1  |"[..'...+..T~...|
    00000040  3b c7 a1 7d 57 02 d8 1c  53 41 91 52 2d ac 0b da  |;..}W...SA.R-...|
    00000050  1e 0e 0b 94 b3 90 0d 20  49 2c 94 84 22 87 30 c1  |....... I,..".0.|
    00000060  31 36 6e 18 e0 52 5e ec  59 f9 36 47 37 c6 45 1e  |16n..R^.Y.6G7.E.|
    00000070  24 db dc 9a e4 d8 4e dc  b6 0b b2 57 f4 27 a9 56  |$.....N....W.'.V|
    00000080  05 11 2d 03 75 75 64 58  87 b8 86 8d 4c 3d d5 f4  |..-.uudX....L=..|
    00000090  10 34 9d 24 ab 48 b4 27  58 59 f7 27 3b 9b 39 5a  |.4.$.H.'XY.';.9Z|
    000000a0  b4 ed 2e fb 1f 6e 1f 13  b3 cd 67 78 5f ec f5 63  |.....n....gx_..c|
    000000b0  ae 46 a7 17 87 f7 10 09  32 6d 30 dc 0e 1b 48 2a  |.F......2m0...H*|
    000000c0  2c 27 09 bc 42 32 38 22  8c 76 c9 cb 8c e9 0d f9  |,'..B28".v......|
    000000d0  5e d0 c3 a8 af 8f cd 68  b6 96 3c 94 5c 3c d1 00  |^......h..<.\<..|
    000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000100
    

    看吧,通过后者得到的输出,其全0数据在结果的最后两行都好好的在呢,虚惊一场啊。

    联系和福利

    • 关注微信公众号“洛奇看世界”
      • 回复关键词“Android电子书”,获取超过150本Android相关的电子书和文档。电子书包含了Android开发相关的方方面面,从此你再也不需要到处找Android开发的电子书了。
        公众号:洛奇看世界

    • 个人微信号,添加请备注“微信公众号”。
      个人微信号
    展开全文
  • 学过网络的人都知道,192.168.0.0 到192.168.255.255私有地址,常用的私有地址还有172.16.0.0到172.31.255.255,10.0.0.0到10.255.255.255等等,这些私有地址用于局域网的。路由器连接公网和死网的桥梁,说白了...

    学过网络的人都知道,192.168.0.0 到192.168.255.255是私有地址,常用的私有地址还有172.16.0.0到172.31.255.255,10.0.0.0到10.255.255.255等等,这些私有地址是用于局域网的。路由器是连接公网和死网的桥梁,说白了就是专门用于私网地址和公网地址的转换(当然我指的是一般家庭用的路由器,真正的路由器是用于大型网络的节点,价格相当昂贵,功能比较复杂,比较牛逼的厂家有思科,junip,华为,华三,这里就不详细说明了)。
    家庭路由器常见的厂家有tp link,火星等等,价格便宜。家庭里面需要联网的设备较少,所以一个24位网段的私网地址完全够用了。常用的网段就是192.168.0.0到192.168.0.255 和192.168.1.0到192.168.1.255 而最后位为0是网络地址,最后为255是广播地址 所以这两个地址不会分配给设备。不同的厂家默认的私网地址会不一样,有的厂家默认用192.168.0.0/24网段 有的会用192.168.1.0/24网段。路由器也是一个联网的设备,所以他也有地址,一般末位为1或254 这样便于记住 ,不过用1的比较过,254的也存在 。所以路由器的地址一般是192.168.0.1或者192.168.1.1的较多。如果是话ip地址的话,常见的大软件就是芝麻游戏助手。最后你通过这个地址就能访问路由器的http服务了,从而就能设置路由器的配置了。 以上的路由器都是指家庭路由器哈。希望这篇博客可以帮到更多人

    展开全文
  • 相信很多经常喝酒的朋友都会发现一个问题——即使经常喝同一款酒,每次喝起来的... 其实,酒和一样,即使同一个,每次相遇,也会给你不一样的感觉。下面我们一起来看看影响味道的有哪些因素吧。第一:真假 ...

       相信很多经常喝酒的朋友都会发现一个问题——即使经常喝同一款酒,每次喝起来的味道都会有所不同。这就真的让人百思不得其解了,自己明明是在同一个地方买,同一个牌子,但有时候,喝起来也是时好时坏的,是不是无良商家真假混卖啊?为何会有差别?究竟是什么原因造成呢?

    267104e95ea81eedb4764b2d063eac0d.png

       其实,酒和人一样,即使是同一个人,每次相遇,也会给你不一样的感觉。下面我们一起来看看影响味道的都有哪些因素吧。

    第一:真假

       如今市场上充斥着假冒伪劣酒,如果您饮用的是假酒,那口感问题就谈不上了。

    第二:时间

       酒装瓶出厂后,随着时间的延长,酒质会有明显的优化。所以,即便您喝的是同一种酒,因为出厂时间的不同,年份不同,口感也会不同。时间的跨度越大,口感的差异越大。

    4413d477bde1114cf22a8235f7420c29.png

    第三:配菜的刺激

       品尝酒时必须注意感觉过程的差异,不同的食物搭配白酒,对口感的影响是非常大的,尤其是一些刺激性比较强的食物。即一种风味掩盖另一种风味,一种风格感受又可诱发另一种风格感受。如先饮甜酒,再吃苹果,就会产生酸感;吃过咸、过鲜或过麻、过辣、过热等刺激性过强的食品时,都会影响品酒的效果。

    99937fca9d3f1cf904a883ccaaea7da0.png

    第四:喝酒时的心情

       喝酒看对象看心情这是亘古不变的道理!这点绝对是所有因素中最重要的,酒逢知己千杯少,在心情轻松舒畅的前提下跟对的人、喜欢的人喝酒才是对酒最好的增味剂、调节剂。

       当我们跟朋友一起畅饮时,心情畅快;当我们与知心人喝酒,那就是酒逢知己千杯少,豪饮三百杯都不觉醉意;当我们和爱人小酌时,美酒佳人,赏心悦舌,酒不醉人人自醉,酒也香甜;而当我们一人喝闷酒时,心结难消,举杯消愁愁更愁,此时的酒也就苦涩难喝。

       人的味觉,在不同的时间与情绪下,敏感度不一样,因此对酱酒里面的酸甜苦辣涩的味道的感受也不一样,也会感觉味道不一样。心情愉悦甜味会占上风!

    5a400664692e254f0fa093a06e37d882.png

    第五:酒的温度

       白酒作为中国特有的蒸馏酒类型,酒精含量较高,香气物质以醇酯类为主。过高的温度会破坏风味的协调性,尤其突出酒精感;而过低的温度则会抑制香气物质的挥发。就算是同一批出厂的酒,在北方的和南方的都可能会造成瓶差。

       因此,我们在选择白酒品饮温度时应当考虑:白酒的最佳品饮温度应能更好地突出产品特有风格及微妙的口感的温度,也就是说要考虑白酒的类别以及饮用时间。夏日车内温度可达60摄氏度,白酒放在如此高温的后备箱中,会加速其理化反应,比如,浓香型白酒会有一种明显的臭豌豆味,酱香型白酒也会变酸。

    a315706f82128ed4af292fd14057c592.png

    第六:运输条件

       同样一批酒出厂,发往世界各地,因路途、目的地不同,有的酒上飞机,有的酒放进游轮,有的酒放在货车上配送。不同的运输方式,运输时间、运输过程中所处环境、所受遭遇导致酒在内部发生不同程度的反应。

       比如说,运输过程中上层的酒颠簸程度高于下层,使得上层酒氧化速度稍微快于下层,从而口感也会有所不同。另外,在运输中接触阳光一面暴晒的酒氧化速度也会加快,与底层或阴暗面的酒口感有所差异。

    f159c776180a7fc83bb33d1b8b5b4cbc.png

       综上所述,经常喝同一款酒每次喝起来的味道都会有所不同,那基本是正常现象,所以不用太过担心。

    展开全文
  • 学过网络的人都知道,192.168.0.0 到192.168.255.255私有地址,常用的私有地址还有172.16.0.0到172.31.255.255,10.0.0.0到10.255.255.255等等,这些私有地址用于局域网的。路由器连接公网和死网的桥梁,说白了...

    学过网络的人都知道,192.168.0.0 到192.168.255.255是私有地址,常用的私有地址还有172.16.0.0到172.31.255.255,10.0.0.0到10.255.255.255等等,这些私有地址是用于局域网的。路由器是连接公网和死网的桥梁,说白了就是专门用于私网地址和公网地址的转换(当然我指的是一般家庭用的路由器,真正的路由器是用于大型网络的节点,价格相当昂贵,功能比较复杂,比较牛逼的厂家有思科,junip,华为,华三,这里就不详细说明了)。
    家庭路由器常见的厂家有tp link,火星等等,价格便宜。家庭里面需要联网的设备较少,所以一个24位网段的私网地址完全够用了。常用的网段就是192.168.0.0到192.168.0.255 和192.168.1.0到192.168.1.255 而最后位为0是网络地址,最后为255是广播地址 所以这两个地址不会分配给设备。不同的厂家默认的私网地址会不一样,有的厂家默认用192.168.0.0/24网段 有的会用192.168.1.0/24网段。路由器也是一个联网的设备,所以他也有地址,一般末位为1或254 这样便于记住 ,不过用1的比较过,254的也存在 。所以路由器的地址一般是192.168.0.1或者192.168.1.1的较多。如果是话ip地址的话,常见的大软件就是芝麻游戏助手。最后你通过这个地址就能访问路由器的http服务了,从而就能设置路由器的配置了。 以上的路由器都是指家庭路由器哈。希望这篇博客可以帮到更多人

    展开全文
  • 在eclipse中runas正常运行,而debug as调试运行,两个只是运行模式不同,执行结果并不会不一样 调试运行为了在编码中逐步运行代码,可以实时查看变量值,方便找出程序错误, 如下代码,在intc =...
  • 其实,很多人都有这样的困惑:同一款茶,首次喝和第二次喝,总感觉滋味不一样,感觉总是喝不到上一次的滋味,又说不出哪里不一样,但总觉得有所欠缺,这是为什么呢?其实,一样的茶叶,不一样的冲泡环境、不一样的...
  • 有的把同意复合就当成了挽回结束了,但是复合之后又觉得什么都跟之前不一样了,这样的状态其实不能说是挽回成功了。 因为你们只是处在一种假性复合的状态。真正的复合一定解决了根本矛盾,情感修复成功了的,...
  • 导语:为什么建筑工地上工人戴的帽子,颜色都不一样?有什么区别吗?随着现在的城市建设发展越来越快,很多的地方也都是出现了大大小小的工地,每天也都是热火朝天的在做着建筑工作。到过工地现场的一定都知道,...
  • 有很多在租用服务器的时候,会发现市场上有这样一个问题,也都有这样的疑惑:为什么服务器配置都是一样的,但是价格却相差很多? 在这里说一下服务器的配置一般是哪些:服务器的CPU,内存,硬盘,带宽,以及网络...
  • (图片来源于网络)引子:昨天小张同学问我灯怎么发光的,为什么开关一按灯就亮了,再一按灯又亮了。我说,灯一按电就来了,电在线里面跑的,电跑的路就叫做“电路”,然后我给他画了一张电路图,他一直“哦,哦...
  • 随着现在人们的生活的要求也越来越高了,现在有很多的选择了自己攻读的MBA院校的标准也是不一样的,攻读MBA方式也是不一样的。考生选择院校不同,所需要MBA院校的学费也是不同的。    免考MBA    我们在选择...
  • 为什么同样都是304不锈钢管,价钱却不一样等问题,今天小烨作为不锈钢管厂家,和大家分享一下,为什么不一样。上述的304不锈钢管价格不一样,指的是同一个管厂的304不锈钢管,而不锈钢管有薄壁和厚壁之分。一般情况...
  • 废话多说,说回本文的主题--蹲坑和锁升级为什么是一样的? 先说锁升级的过程,简单来说就是从无锁到偏向锁到轻量级锁,最后到重量级锁。锁只能升级,能降级。 你现在一定很疑惑,这个跟蹲坑有毛线关系。别急,...
  • 新农村合作医疗保险的缴费标准,为什么每个地区都不一样呢?我们可能不难发现,就是说你在的地区每年交费可能280元,但是别的在的地区可能交费达到了306元或者说320元,这究竟一种什么样的情况呢?其实每个...
  • 有很多酒友问我,为什么同一瓶酒,第二次喝感觉和第一次不一样?难道酒的品质不一样了吗?今天就来和大家说一说,为什么同一种酒,两次喝,感觉口感会不一样。一、环境与心情不同环境、不同心情,会影响品酒的感受...
  • 因为大部分用户使用蓝牙耳机就是“听个响”,很多人都不在乎音质音效,只要有最基本的立体声就够了。而苹果AirPods又最新潮的蓝牙耳机,带着它会让人感觉很“潮”。但正版的AirPods又太贵,...
  • 为什么要付出不亚于任何的努力呀?刚看到这句话的时候你是否也太理解,认同,感觉很疑惑。的,刚开始我也大多数年轻的同龄一样不理解,这句话的真正意义什么?这句话一位80多岁的老人用毕生经验总结出来...
  • 转载知乎:《为什么的人生跟开了挂一样》 知乎超10000赞文章!为什么的人生跟开了挂一样? Aug.25 灼见(微信号:penetratingview) 作者丨另维 来源丨另维和Yellow 01 活到这个年纪, 最该自己做决定的事...
  • 现代F1赛车的方向盘基本上都是方型的,上面更是配备了许多按钮、旋钮、电子显示屏等元器件,看的是眼花缭乱。为什么像F1这样的方程式赛车方向盘要做成方型的呢?原因有几点,首先,方程式赛车的坐姿都比较低矮。...
  • 早在人类学会使用工具的时候,就开始接触圆了,利用石器在墙上凿的小孔,大多数都是圆形的;学会制作陶器以后,陶瓷包括碗、碟子、花瓶等等,陶瓷的底部基本都是圆的,再往后圆形制品在生活中的运用就越来越普遍了。...
  • 看到满篇嘲讽式的回答,我来说点不一样的,并不是因为我自己有Python教程免费提供。首先说缺点,其实根本上就三条:Python确实不如JAVA和C主流,直接用Python找工作是不太容易Python的执行效率相对JAVA和C确实低,也...
  • 职场如战场,没有硝烟也有利剑,运用得当...一份市场调查表明60%的认为在职场中最应该学的办公软件Excel,为什么呢 ①.让简历更受HR青睐 ②.快速融入职场的催化剂 ③.提高工作效率,创造更多的剩余时间 ④.掌握一.
  • 我们经常能看见大卡车在省道上或者高速上跑,大多数人都是能躲就躲,绝招惹的态度,但是据小编所了解,其实大车师傅们还是很可爱的,如果不是突发状况因惯性太大无法及时降低车速,也不会发生那么多交通事故,大家...
  • 1、在大数据面前你已经被贴上了“python相关”的用户标签所以“你”会经常在各种平台看到python相关广告,现在很多平台都是千面,每个看到的广告不一样,可能因为你偶尔一个不经意的动作就被打上了“python...
  •  知乎上有提问:为什么飞机的往返时间会不一样?  提问的孩子举了个例子:坐飞机,北京到伦敦10个多小时,伦敦到北京却只用了9个多小时。差别如此之大。到网上再查一下机票,发现每天的每次航班的飞行时间...
  • 任何产品有理论值与实际值,例如某些新能源汽车号称标准续航300公里,但实际上可能连200都不到,某些手机号称可以待机7天,也没见有多少能坚持1天充电的。定位系统同样如此,不管UWB技术,还是WIFI、蓝牙...
  • 最近3c直连网络的概念很火,使用过的用户口碑爆棚,不过仍然有很多朋友知道3c直连网络何物。经常使用海外服务器的朋友知道,网络稳定性和速度多么重要,选择一家服务器运营商,价格,服务,物理配置可能各有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,150
精华内容 2,460
关键字:

为什么人都是不一样的