VB.NET で MD5 ハッシュを計算する方法(System.Security.Cryptography)

最近パスワード生成ツールを作っていて、MD5 の計算が必要になりました。PHP では md5() を呼ぶだけで MD5 ハッシュが得られますが、VB では実際に MD5 を使ったことがありませんでした。.NET に MD5 の機能がなければ自分で実装しなければならないのではと心配でしたが……Orz。MSDN で調べたところ、ちゃんと用意されていました。少し手間取りましたが、MSDN に getMD5hash という関数があったので、そのまま使わせてもらうことにしました。 ...

2011年7月26日 · 1 分

.NET プログラムから Windows の環境変数(システム変数)を取得する方法 - VB.NET の例

CMD を使ったことがある人なら、環境変数というものを知っているでしょう。環境変数を使うと、ユーザー名のように、コンピューターごとに異なる情報を手軽に取得できます。CMD で環境変数を使うのはとても簡単で、%環境変数名% という形式で書くだけです。しかし .NET プログラムでは、それほど簡単ではありません。Environ 関数を使う必要があります。 ...

2011年2月11日 · 1 分

DNS Firewall - 指定したサイトへのアクセスを制限し、DNS の対応先をすばやく変更

DNS Firewall は、ある Web 運営者が最近作成したプログラムです。主な機能は、特定の Web サイトへのアクセスを禁止することです。たとえば、家に子どもがいて、アダルトサイトや Facebook を見せたくない場合は、その 2 つのサイトの URL をプログラムに入力します。すると、このパソコンからそのサイトに接続できなくなります! DNS Firewall の仕組みは実はとても単純です。Windows に標準で入っている hosts ファイルを書き換え、禁止したサイトの DNS の対応先を 127.0.0.1、つまり自分のパソコンに向けるのです。そのため、ブラウザからそのサイトに届かなくなります xD...

2011年1月21日 · 1 分

【VB】【C++】n!(階乗)の計算

n の階乗を計算するのは、とても簡単なことです。このプログラムを書いたのは、順列・組み合わせのためでした。答えがおよそどれくらいの数になるのかを知りたかったので、階乗の値を求める n! の関数を書きました。階乗とは 123…..n のことです。順列では、並べるものが5つあれば、結果は最大でも 5432*1 の値、つまり最大120通りの答えになります。 以下では n! を Function として作成しました。VB 版と C++ 版があります。ループを学び始めたばかりの人は、この関数でループの使い方を練習できます。また、integer では値が収まらないかもしれないと心配したため、戻り値は string で返すようにしました。この Function を使うときは、戻り値を先に数値型に変換する必要があります。 ...

2011年1月5日 · 1 分

【VB】文字列を1文字ずつ分割する(Mid + For ループ)

実は、この記事で扱う「文字列を1文字ずつ分割する」処理はとても簡単ですが、ACM の問題ではよく必要になります。たとえば順列・組み合わせの問題では、計算の前に文字列を文字に分割しなければなりません。シーザー暗号にも同じ処理が使われます。以下では VB.NET で例を示しますが、ほかのプログラミング言語でも同じことができ、原理は同じです。...

2010年12月28日 · 1 分

【VB.Net】フォルダ内の特定形式のファイルパスを取得して ArrayList に格納する(少し修正すれば他の .NET 言語でも使えます)

前回、新バージョンの Desktop Locker のエンターテインメント機能を作っていたときに、Resources フォルダ内の音楽ファイルをすべて自動で取得する必要がありました。そこで以下のコードを考えました。フォルダ内の特定の形式のファイルパスを取得して ArrayList に格納するものです。たとえば music フォルダ内のすべての mp3 ファイルを取得したい場合に、このコードを使えます。...

2010年11月7日 · 1 分

Yahoo! Messenger をプログラムから操作する方法(ステータス変更・ログイン・ログアウトなど)(VB の例)

一昨日、クラスの友達が面白半分に、Yahoo! Messenger のステータスを変えるいたずらプログラムを送り合い始めました。それがきっかけで、このステータスいたずらプログラムの発展版を作ってみようというひらめきを得ました。Yahoo! Messenger のステータスを変更するプログラムを作るのは、実はそれほど難しくありません。Yahoo が Messenger を簡単に設定できる COM コンポーネントを提供しているからです。この COM は YahooMessengerLib と呼ばれ、私の知る限り、Yahoo! Messenger に対して次の操作ができます:ステータスの変更、現在のステータスの取得、Yahoo! Messenger へのログインまたはログアウト。それでは、YahooMessengerLib という COM コンポーネントの使い方を紹介しましょう~...

2010年11月7日 · 2 分

キーボードのスキャンコード対応表(私の自作ではありません)

ここで、一枚の図を共有します。 postmessage でキーボードのシミュレーションをしている場合に使うことになります。 これはインターネット上で見つけたものです。

2009年7月12日 · 1 分

VB の Ctrl+F5 によるコンパイル

みなさんに良いものをシェアします〜 今後は VB のコンパイルに Ctrl+F5 のショートカットを使うのがおすすめです。 コンパイルされたファイルが小さくなるからです。 また、Ctrl+F5 でプログラムをコンパイルすると、 コンパイルされたプログラムは、プロジェクトフォルダー内の binRelease フォルダーに配置されます。 ...

2009年7月4日 · 1 分

VB - Redim で配列の要素数を再設定する

VB を勉強したことがある人なら、Dim 構文はきっとご存じですよね。 Dim は変数(配列)を宣言し、プログラムのためにメモリ上の領域を確保するようコンピューターに伝える文です。 しかし、配列にいくつのデータが入るのか分からないこともあります。 そのような場合に最初から非常に大きな値を指定するのは無駄です。 今回紹介する Redim は、配列の要素数を後から再設定できる文です。 ...

2009年7月2日 · 1 分