>>> YieldNull
  • /blog
  • /archives
  • /github
  • /about

Blog Entries all / by tag / by year

  • 用数字证书证明你是你

    2017-09-01 21:48:17 / Computer Network /5856 hits

    假设你要将一份机密的文档通过互联网发送给你的朋友老王,你可能会想到先将文档加密之后再发给他。不论你使用的是对称加密,还是非对称加密,首先都需要与老王沟通并确定加密方式,以及加密文档用的密钥。

    假若你使用对称加密方式,密钥显然要告知老王,不然他无法解密。假若你使用的是非对称加密,比如RSA,那么你得知道老王的公钥,用来加密文档。所以你们怎么通过不安全的互联网来协商加密方式呢?

    Read more...


  • Allocator的实现方式

    2017-08-28 22:06:32 / Computer /7496 hits

    Screen Shot 2017-08-27 at 21.41.14

    在使用C语言编写程序时,往往会有动态分配内存的需求,比如动态分配数组。动态申请的内存必须是一块连续的地址空间,在不再需要这块内存时,又会对内存进行释放操作。

    当进行多次申请、释放之后,地址空间中会出现许多大大小小的空闲块,这些空闲块可能无法满足新的内存申请,这样就导致空闲块“被浪费了”,从而降低了内存的使用率。

    设计较差的分配器不仅仅会造成内存使用率较低的问题,也很有可能花费更多的时间来搜索空闲块,造成系统吞吐率变低。

    总结而言,分配器的目的有以下两个:

    1. 最大化内存利用率。
    2. 最大化吞吐量。

    Read more...


  • CSAPP Attack Lab

    2017-08-06 21:08:48 / CSAPP /5706 hits

    CSAPP Attack Lab V.2016.01.11

    $ ./hex2raw < input/phase_5.txt | ./rtarget -q
    Cookie: 0x59b997fa
    Type string:Touch3!: You called touch3("59b997fa")
    Valid solution for level 3 with target rtarget
    PASS: Would have posted the following:
        user id bovik
        course  15213-f15
        lab attacklab
        result  1:PASS:0xffffffff:rtarget:3:88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 06 1A 40 00 00 00 00 00 C5 19 40 00 00 00 00 00 AB 19 40 00 00 00 00 00 48 00 00 00 00 00 00 00 DD 19 40 00 00 00 00 00 34 1A 40 00 00 00 00 00 27 1A 40 00 00 00 00 00 D6 19 40 00 00 00 00 00 C5 19 40 00 00 00 00 00 FA 18 40 00 00 00 00 00 35 39 62 39 39 37 66 61 
    

    Read more...


  • CSAPP Bomb Lab

    2017-07-24 00:11:26 / CSAPP /11068 hits

    CSAPP Bomb Lab V.2016.01.12

    $ ./bomb inputs.txt 
    Welcome to my fiendish little bomb. You have 6 phases with
    which to blow yourself up. Have a nice day!
    Phase 1 defused. How about the next one?
    That's number 2.  Keep going!
    Halfway there!
    So you got that one.  Try this one.
    Good work!  On to the next...
    Curses, you've found the secret phase!
    But finding it and solving it are quite different...
    Wow! You've defused the secret stage!
    Congratulations! You've defused the bomb!
    

    Read more...


  • FoldLeft Via FoldRight

    2017-07-22 12:26:43 / FP Scala /4724 hits

    怎么用FoldRight实现FoldLeft呢?两个函数的签名如下

    def foldLeft[A,B]: (List[A], B) => ((B, A) => B) => B
    
    def foldRight[A,B]: (List[A], B) => ((A, B) => B) => B
    

    Read more...


  • CSAPP Data Lab

    2017-07-19 21:21:54 / Computer CSAPP /16524 hits

    CSAPP Data Lab V.2016.05.04。

    $ ./btest 
    Score   Rating  Errors  Function
     1  1   0   bitAnd
     2  2   0   getByte
     3  3   0   logicalShift
     4  4   0   bitCount
     4  4   0   bang
     1  1   0   tmin
     2  2   0   fitsBits
     2  2   0   divpwr2
     2  2   0   negate
     3  3   0   isPositive
     3  3   0   isLessOrEqual
     4  4   0   ilog2
     2  2   0   float_neg
     4  4   0   float_i2f
     4  4   0   float_twice
    Total points: 41/41
    

    Read more...


  • « Previous 4 / 12
  • Next 6 / 12 »

About this site © YieldNull,