Recent StatusGeneral InfoTodaySunrise/Sunset[collapse/shrink]
Sapporo
05:04 →
18:02
Tokyo
05:16 →
18:02
Osaka
05:34 →
18:18
Hakata
05:55 →
18:38
Taipei
06:37 →
19:09
Beijing
06:47 →
19:39
Singapore
08:00 →
20:08
New Delhi
09:32 →
22:07
Moscow
11:45 →
01:12
Nairobi
12:29 →
00:35
Cairo
12:35 →
01:11
Istanbul
12:37 →
01:30
Athens
13:04 →
01:52
Budapest
13:08 →
02:14
Vienna
13:19 →
02:27
Prague
13:24 →
02:37
Berlin
13:26 →
02:44
Rome
13:41 →
02:36
Paris
14:15 →
03:23
London
14:21 →
03:35
Madrid
14:45 →
03:37
Lisbon
15:13 →
04:02
Rio de Janeiro
17:57 →
05:43
Sao Paulo
18:10 →
05:56
New York
19:28 →
08:20
Mexico City
21:22 →
09:47
San Francisco
22:44 →
11:31
Honolulu
01:14 →
13:41
Wellington
02:53 →
15:48
(in JST, GMT+9)
WeatherWorld NewsBookshelfScienceComputerPhilosophy/Thought |
アルゴリズムMD5今更ながら,MD5のアルゴリズムがどうなってるのか調べてみた。 MD5ってのは一方向暗号化アルゴリズムの一つで,ハッシュ関数って呼ばれる。つまり,ある文字列を一定の長さの文字列に変換する関数。入力文字列の長さに関わらず出力の長さは一定なので,情報が欠落し,復号は出来ない。だから,要約アルゴリズムとも呼ばれる。普通,ある文字列をMD5関数に突っ込むと,32桁の16進数が(文字列で)返ってくる。 ちなみに,アメリカ国土安全保障省はMD5について「暗号としては破られたものと考えるべきであり,今後の利用には適さない」1)って発表してて,更に2010年までに,合衆国政府ではMD5を利用してる部分をSHA-2に置き換えるって発表してる。 この辺の話も数年前に話題になったから,覚えてる人が多いとは思うけれど,念のため。 で,アルゴリズムをざっくり見てみると,耳慣れない関数や演算子は一切使われていない。
Wikipedia英語版に,疑似コード(pseudocode)2)でアルゴリズムが載ってるけど,使われてる演算子は AND, OR, XOR, NOT, n-ビットシフト(順に, だから,全体の流れは理解しやすい。途中で使われる関数も,何をやってんのかは簡単にわかる。 んだけれど,じゃぁ何でそんな操作をしてるのかがわからない… 要するに,その関数の意味って何ってこと。これを考えてみようと思う。 …続く 2)
実在するプログラミング言語で書かれたコードじゃなくて,説明用にプログラムに似せて書かれたもの
|
Other LanguagesPhoto Updates
effects by jQuery Carousel
Recent Comments
2010
Thank you!
Twitter Repliesand more...
Thank you!
Site StatusAccess CounterTOTAL
54429
(Now 5 clients are visiting here.)
Activity Meter
Activities classified with number of recent articles.
DictionaryLinks落書き |