Implementations vary considerably with respect to the inputs they are able to hash. The most basic support is hashing an entire byte[]. Most implementations permit an offset and length to be nominated for a byte[]. Some implementations offer ByteBuffer awareness, others use Unsafe, and some delegate to native code via JNI. My motivating use case for developing this benchmark required hashing varia
Most JAVA developers are using Maps and especially HashMaps. A HashMap is a simple yet powerful way to store and get data. But how many developers know how a HashMap works internally? A few days ago, I’ve read a huge part of the source code of java.util.HashMap (in Java 7 then Java 8) in order to have a deep understanding of this fundamental data structure. In this post, I’ll explain the implement
hashids (Hash ID's) creates short, unique, decodable hashes from unsigned (long) integers. It was designed for websites to use in URL shortening, tracking stuff, or making pages private (or at least unguessable). This algorithm tries to satisfy the following requirements: Hashes must be unique and decodable. They should be able to contain more than one integer (so you can use them in complex or cl
こんにちは。SI部の満石です。 今回はJava SE 8限定となりますが、安全なパスワードを生成する方法についてご紹介します。 安全なパスワードの最小限の要件 今年のベネッセの情報漏洩事件はまだ記憶に新しいと思いますし、あまり大きく取り上げられていないようですが最近500万件のGmailのアカウント情報が流出したらしく、おそらくその影響で様々なサイトでなりすましログインが発生しているようです。このような例もあり、ここ数年で個人情報を守るためにセキュリティがどんどん重要視されるようになってきています。 もはやシステムを設計するにあたって、SQLインジェクション、XSS(クロスサイトスクリプティング)、CSRF(クロスサイトリクエストフォージェリ)のような代表的な脆弱性について対応することは当たり前になっているのではないでしょうか。 しかしながら、パスワードを保存するということについては、とり
Javaでパスワードをハッシュ化するのに良い方法を調べたのでメモしておく 要件・方針 必要な全情報が攻撃者の手に入ってオフラインで解析されても困らない。 強力なHASH関数と、アカウント毎に違うSalt、そしてストレッチングが必要。 SaltはHASH化されたパスワードと一緒に保管してOK Saltとストレッチングの処理は、独自実装ではなく既存のアルゴリズムの既存実装使う PBKDF2 とか Bcrypt, Scrypt など。 JCA(Java Cryptography Architecture) が利用出来るなら最善だろう。そうでなければ著名プロジェクトの物を使いたい 参考 http://www.f-secure.com/weblog/archives/00002095.html 日本語訳:http://blog.f-secure.jp/archives/50564743.htm *「
Stand alone Java implementations of Cuckoo Hashing and Bloom Filters Included here is a standalone, java implementation of Cuckoo Hashing and of a Bloom Filter. Instructions for using these classes can be found in the Javadocs for Cuckoo hashing or in the instructions for using a Bloom Filter. Source code is also available.
【論文】M. Datar, N. Immorlica, P. Indyk, and V.S. Mirrokni, Locality-Sensitive Hashing Scheme Based on p-Stable Distributions, Proceedings of the twentieth annual symposium on Computational geometry, 2004. Overview Locality Sensitive Hashing(以下LSH,局所性鋭敏型ハッシュ)は高次元データを次元圧縮するための手法で,圧縮したデータによるハッシュテーブルを作成して,効率的に近似的最近傍探索を行うための手法です.基本的なアイディアとしては高次元空間内での距離が近い2つのベクトルが,ハッシュテーブルにおいて高確率で同じバケットに入るように確率的な処理を行うと
去年の終わりから、バイナリハッシングを使った近似近傍検索をいろいろ調べていたのですが、ぼちぼち一段落したので、ひと通りまとめておきます。 バイナリハッシングとは。 個の 次元の点からなるデータセット で、元空間での近傍点を、類似したバイナリコードに関連づける技術。 要するに、実数ベクトルの検索をマトモにやるには、最近のデータは膨大すぎるのでお手上げ。なので、元空間での距離をなるべく保ったまま、バイナリコードに落としましょう。 そうすると、バイナリ一致か、1ビット違うか、2ビット違うか...と、捜索していくにしても、元空間のデータでやるより高速で、しかもストレージ容量を削減できるというわけです。 その ビットのバイナリコード を作るために、 個のハッシュ関数が使われる。 ハッシュ関数は と定義される。ここで、 はデータセット。 は射影ベクトル。 は閾値。 線形写像ベースのハッシングはシンプル
Highly Scalable BlogArticles on Big Data, NoSQL, and Highly Scalable Software Engineering Some time ago our team had been requested to develop several Java components for structured information retrieval. After the initial research, we concluded that standard approaches like inverted indexes are not well applicable to our problem because of specific business requirements. As a result we faced a ne
Recent News January 28, 2010 Currently in: Changable Next destination: Unknown April 16, 2009 Recovering from: Fencing World Championships Next destination: The East Developing: More parallel compilers September 3, 2008 Recovering from: Discworld Convention Next destination: Florida June 3, 2008 Organizing: TechAdventure Returning from: The East Destination: DC Links Projects on CPAN Projects on F
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く