« 2009年1月 | トップページ | 2009年3月 »

2009年2月の31件の記事

2009年2月28日 (土)

マジコン規制に新たな動き

DSソフトの違法コピーの温床となっている通称「マジコン」ですが、プロテクト外しについて経済産業省は刑事罰の適用拡大も含めた法改正を検討する方針なんだそーです。

記事を読んだ印象では、著作権法上、私的使用の複製は認められているので「コピー行為」ではなく、「プロテクト外し」を刑事罰の対象にするっぽい気がしてます。

あと、マジコンを輸入販売してた業者に対して販売・輸入の禁止と在庫の廃棄を命じる判決も出ました。

で、この問題、本来なら子供を指導する側の親が不正コピーに加担してたり無関心でいるケースが結構あるんじゃないか?と言われてます。

これって最近繰り返し話題になってる子供とケータイの関わり方とか「情報リテラシー」に対する親の指導力や認識不足と根っこは同じよーな気がします。
おかげで、親も子供もマジコンを使って不正コピーしたソフトで遊んでる事に対して罪の意識が無い。

これって結構危険な気がする。
だって、自分の行動に対する結果やその影響を想像できないって事だから、それって被害者の気持ちが想像できないイジメの加害者と同じよーなもんだもん。

って事で、当たり前ですが面白いゲームで遊びたいならゲーム会社にちゃんと対価を払いましょう。
で、クソゲーだったら迷惑にならない程度にネットで暴れましょう。
ホントにクソゲーならみんな賛同してくれるはず。(笑)

・・・えっ?だったら「モバゲー」で十分だって?(´・ω・`)

ちなみにヤフオクでは今回の判決を受けて早速マジコンが出品禁止となりました。
在庫を大量に抱えちゃってる人・・・ご愁傷様です。( ̄人 ̄;

| | コメント (1) | トラックバック (0)

2009年2月27日 (金)

「ぎふっこカード」がパワーアップするらしい

岐阜県子育て家庭応援キャンペーン事業 愛知県および三重県との連携が始まります!!

少子化対策の一環として取り組む「子育て家庭応援キャンペーン事業」として岐阜県は18歳未満子どもがいる世帯に「ぎふっこカード」なるものを交付して協賛店でちょっとした特典を受けられるよーになってるんですが、4月1日からは愛知県および三重県との連携が始まる事になり、愛知県と三重県の協賛店でも特典を受けられるよーになるそーです。おー便利じゃないか!

つーか、ちょっと前から富山県とも連携してたのね。知らなかった。(^^;A

ちなみに以前は申請しないと交付されなかった「ぎふっこカード」ですが、平成21年4月以降は対象世帯への一律配布になるうえに妊婦さんも対象になったそーです。
お子さんが学校などに通っている場合は学校などを通じて、未就学児とかの場合は各市町村が母子検診時や各種予防接種時等の機会に配布する予定だそーです。(詳細はコチラのPDFをご覧下さい)

ちなみに富山県側の協賛店検索のページに行ってみましたが、チャンとシステム化されてて見やすかったです。
コレぐらいの事は岐阜県もやって欲しいなぁ・・・。(´・ω・`)

| | コメント (0) | トラックバック (0)

2009年2月26日 (木)

Xacti「DMX-C4」の後釜が居そうで居ない・・・(´・ω・`)

このブログの「FreeRideSki Gallery」で未だ現役のXacti「DMX-C4」なんですが、レンズコーティングが剥げてたりしてそろそろ限界が近づいてきてる気がする。

で、後釜を探しているんだけど・・・居そうで居ない。

ちなみに希望しているスペックを優先順に並べると↓こんな感じ。

  • 光学5倍以上のズーム。
  • 「DMX-C4」並の大きさ。
  • 静止画もそこそこなクオリティ。
  • 動画はハイビジョンじゃないくても良い。
  • 動画のフレームレートは60fpsが望ましい。
  • 追い撮り時の姿勢が楽な縦型。
  • でも、出来れば動画はハイビジョンが良い。(笑)
  • 静止画と動画のモード切り替えが必要ない。
  • 出来れば光学式の手ブレ補正。
  • 出来れば防水。
  • ハイビジョン機ならHDMI端子装備。

で、候補に挙がるのが

  • ここ最近のXactiシリーズ
  • 広角・望遠・ハイビジョンの三拍子揃ってるパナソニック「LUMIX DMC-TZ7
  • 手頃な価格が魅力なカシオ「EXILIM Hi-ZOOM EX-V8
  • ちょっとズーム倍率が足らないけど防水ってことでパナソニック「LUMIX DMC-FT1
  • あと、超スロー映像が撮影できるカシオ「HIGH SPEED EXILIM EX-FC100」なんかも面白い。

けど、どれも一長一短。うーん。(´・ω・`)

ガングリップ好きなので出来ればXactiシリーズにしたいんだけど、ここ最近のXactiは筐体が分厚いのが気に入らない。

LUMIXはスペック的に申し分は無いんだけど、純粋に60fpsでないし、SD画質だとファイルサイズがデカくなるMotionJPEGだし。

HIGH SPEED EXILIMもLUMIX同様、ファイルサイズがデカくなるMotionJPEGだし、そもそも動画撮影中にズームが使えない・・・はず。

「EXILIM Hi-ZOOM EX-V8」は30fpsなのが惜しいし、レンズが暗いのが気になる。
それに屈折系なら防水にして欲しかった・・・。

って考えると、Xactiシリーズなら「DMX-CG10」or「DMX-HD800」、その他なら「LUMIX DMC-TZ7」or 「EXILIM Hi-ZOOM EX-V8」って感じかな?

あー、「DMX-CA9」が薄けりゃなぁ・・・。

| | コメント (2) | トラックバック (1)

紙芝居で年収1000万円だそーな

不況でも年収1000万円? プロ紙芝居師が高収入の理由

出来る人が少ない・公演料他と比べて安い・ノスタルジー需要も手伝って高収入なんだそーです。
まぁ、紙芝居業界に居るプロの人全員がって訳じゃないんでしょーけど・・・。

で、3月11日に「プロの紙芝居師養成のためのオーディション」を大阪で行うそーですが、高収入に釣られたとしても元々職人芸だと思うので傍から見てるより楽な商売ではないよーな気がするなぁ・・・。

| | コメント (0) | トラックバック (0)

2009年2月25日 (水)

PostgreSQLを高速化する16のポイント

PostgreSQLを高速化する16のポイント

心意気みたいなのも多々含まれますが参考になるかもしれません。
つーか、しばらく追っかけていないうちに結構な機能アップをしてるのにちょっと驚いてたりして・・・。(^^;A

で、「便利だなぁ」と思ったのは「式インデックス」と「部分インデックス」。

特に「部分インデックス」は少々冗長化しててもフラットな構造の方が扱いやすいよーなトランザクション系データの場合に便利かもしんない。

あと、「遅いSQLを観測する」についてはアプリ側でコッソリ実装する方が個人的には好きだったりします。
(DBMS側でやっちゃうと設定を変更する際に稼動中の状態を変更する必要があるがイヤなので)

| | コメント (0) | トラックバック (0)

2009年2月24日 (火)

イチゴが生ってた

私がお風呂に入ってたら、奥さんが慌てた様子で私を呼んでる声がした。
「我が子に何が!」と慌てて風呂場を出ると奥さんが育ててたイチゴに実が生ってた事が発覚。おぉ!

20090224_strawberry_01
鼻を近づけると甘い香りがする・・・。
でも、実はかなり小さいなぁ。

葉に隠れてて誰も気付いてなかった。

室内に入れっぱなしだったので暖かさで実が生ったみたい。

いつ収穫すれば良いんだろ?
追肥を思いっきりし忘れてるのでちょっとスッパそう。(^^;A

| | コメント (0) | トラックバック (0)

勢いに任せて

分譲中の建売住宅とか8件ぐらい見まくってきました。
見た目よりも広かったりするところもあって、どれも「良いかもねぇ?」って感じ。

ただ、どれもちょこちょこと気に入らない部分(2Fの間取りとかオール電化じゃないとか)があったりして・・・。
ただ、建売だけに価格は納得できる範囲だったよーな気がする。

あと、地元では結構有名な建築業者の見学会にも行ってきた。
ソーラーサーキットだったり、床はムク材だったりして申し分無かった。

元々材木屋さんから始まった総合建築業者らしく岐阜県産の木材を使っても自社で取り扱ってるおかげで中間マージンをカットできるため輸入木材と同じ値段で建てられると担当者が力説してたのが印象的。
(ちなみに今住んでるアパートを作ったのも同じ会社だったりするし、宮大工との繋がりもあるらしくて地元の神社仏閣も手がけてたりする)

うー、そー言いながらも、やっぱり高そう。
建売と比べて500万円は差が出そう。
それでも納得できる家が手に入ると言うなら安いのかもしれないけど・・・。

ちなみに我が子が気に入ってたのは、やはりムク材の床。
やっぱり気持ち良いらしくて奇声を上げながら走り回ってた。
まぁ、他の建売を見てるときも走り回ってたけどね・・・。(^^;A
おかげで、どこも説明があんまり聞けなかった。

| | コメント (0) | トラックバック (1)

ポータブルBDプレーヤー

パナソニック、Blu-ray搭載のポータブル地デジテレビ

個人的には「ポータブルBDプレーヤー」のよーな気がしますが、パナソニックBD搭載のポータブル地デジテレビが発表されました。

パナソニックらしく、BD-ROM(BD-Liveにも対応)以外にDIGAで録画したBD-R/REの他にもDVD-RAMも対応してましてDVD-VR以外にAVCRECやAVCHDもOKだったりします。

さらにテレビは12セグ対応で、本体内に4本のダイバーシティアンテナを内蔵して地デジの視聴が可能です。
また、12セグの受信感度が悪い場合はワンセグへの自動切換えも可能だったりします。

HDMI出力端子も搭載してBDプレーヤーや地デジチューナーとしても利用できるよーになっています。

AVCHD/AVCHD Liteに対応したSDメモリーカードスロットとか、LAN端子も装備してDLNAクライアントとして機能したり、YouTubeの動画を視聴できるよーになってたりします。

LAN機能に関しては無線じゃないのが勿体無いですが、「これでもか!」と言うぐらいの機能てんこ盛りだったりします。

そのおかげで予想価格は10万円前後の見込みだそーです。(^^;A

BDプレーヤーがポータブル化された訳なので車に積んじゃう猛者が出てきそーな予感がしますが、SSDとか事を考えると、もーそろそろ振動に弱い光メディアを苦労して車で再生する時代じゃないんだと思うんだよねぇ。
そーゆー意味でマネージメントコピーは早く実現して欲しいと思ったりする。

| | コメント (0) | トラックバック (1)

神社仏閣も電子マネーの時代

神奈川・寒川神社で、Suicaやクレジットカード支払いが可能に

神奈川県の寒川神社なんですが、境内および寒川神社参集殿で神具や神棚・参拝記念品等を購入するのにSuicaとクレジットカードが使えるようになるそーです。

神社側にとって現金管理業務が大変だったり、参拝者の待ち時間を短縮したかったよーです。

残念ながらお賽銭は電子マネーで受け付けてくれないよーです。
お賽銭用小銭が無かったりした時に便利なのに。(笑)

ちなみに奈良の東大寺とかもすでにiDが使えるよーになってたりしてるよーです。
時代ですねぇ。

| | コメント (0) | トラックバック (1)

2009年2月20日 (金)

パナソニックのAVCHDビデオカメラ「HDC-HS300」のレビュー記事

【小寺信良のElectric Zooma!】大幅に「普通」になったPanasonic「HDC-HS300」

小寺氏的に頂上決戦に入れてもらえなかったパナソニックの「HDC-HS300」のレビュー記事。(^^;A

前機種は発色に関して「なんじゃこりゃ!」と言われてしまってたけど、モデルチェンジして普通に落ち着いたらしい。

その点で安心したんだけど・・・やっぱり他社と見比べると色々見劣りしてしまう。
特に静止画機能は相変わらず完敗な感じ。(´・ω・`)

ただ、「おまかせiA」と「追っかけフォーカス」は良い感じ。
特に新たに搭載された「追っかけフォーカス」は、対象が人の顔に限定されないので、縦横無尽に動き回る子供や動物撮影にはかなり使えそーだと思う。
タッチパネルで「ポン」と指定できる点も良いと思うし。

そんな感じで使い勝手は良さ気だけど、画質を気にするお父さんには不満が残る点で、相変わらず「奥様専用ビデオカメラ」って印象は払拭できてない気がする・・・。

| | コメント (0) | トラックバック (0)

ワイヤレス充電技術「eZone」

ワイヤレス充電技術「eZone」を初公開、MediaFLOをiPhoneで見るデバイスも――クアルコムブース

携帯電話用半導体メーカとし有名な「クアルコム」が「eZone」って名前のワイヤレス充電技術を披露したそーなんですが

  • 複数の機器へ同時に充電OK。
  • 充電対象の機器を重ねて置いてもOK。
  • 個別に供給する電圧を変えることも可能。
  • 金属やICチップを使ったカード類を置いてしまっても影響無し。
  • 通信機能を持たせてる事も可能。
  • 供給できる電力はUSB充電と同等。

・・・すげぇ。
今までのワイヤレス充電のダメな点を一気に全部克服しちゃってたりする。

ちなみに電磁誘導ではなく磁気共鳴を利用しているそーな。だからと言って良くわかんなかったりしますが・・・。(^^;A

| | コメント (0) | トラックバック (0)

そー言えば、「Edyスマイルクーポン」が3月25日で終了

電子マネー「Edy(エディ)」 | Edyスマイルクーポン

上記、公式サイトでもアナウンスされていますが、還元率が良かったEdyの「Edyスマイルクーポン」が2009年3月25日で終わっちゃうそーです。(´・ω・`)

ドラッグユタカでの買い物ですげぇ役立ってくれてただけに残念。

あと、コカコーラのマルチマネー自販機でやってた「Edyでドリンク1本もらえる!!」キャンペーンは乗り遅れて1回しか恩恵を受けれなかったのが思い出深かったりします。

あと残るは「Edyでポイント」しか無いんだよねぇ。
一応、auポイントを貯めてるけど、機種変の時ぐらいしか役に立たないんだよねぇ・・・。

| | コメント (0) | トラックバック (0)

家のアンテナをケータイのワンセグ用アンテナに繋ぐケーブル

アンテナ端子につないでワンセグの受信感度を高めるケーブル――プリンストン

テレビアンテナ端子に片方を接続し、もう片方のクリップをケータイのワンセグ用アンテナに挟むことで電波の弱い場所でも安定してワンセグの試聴が出来るよーになるケーブル。

実はこんなの買わなくても、そこらに売ってるアンテナ線でも出来るし、以前にも似たよーな商品を紹介していますが、アンテナ端子から分岐できるよーになってるので、既にアンテナ端子がふさがっていても利用できる点がポイントだったりします。

ただ、壁からミヨーンとコネクタが飛び出す格好になるので、ちょっと心配になりそーな接続方法だったりします。(^^;A

また、ケータイ以外にPC用ワンセグチューナやポータブルテレビにFMラジオでも効果があるそーです。

キッチンや寝室でワンセグを見たり、FMラジオを聴きたいけど電波の入りが悪いって場合にお役に立つかもしれません。

| | コメント (0) | トラックバック (0)

2009年2月17日 (火)

Baby Care Report ~よーやく三輪車デビュー~

クリスマスプレゼントで実家の両親に購入してもらった三輪車ですが、時期的に外で遊ぶのは辛い時期なので広いリビングのある奥さんの実家に置いて室内で乗ってました。

が、春の様な暖かさに誘われて、お弁当を持って池田町の霞間ヶ渓スポーツ公園に行って、よーやく外で三輪車デビューを果たしました。

20090217_baby_01
お腹が空いてたらしく、待ちきれずに自分でえび団子を直接カブり。
串が怖いのですぐに引き離しました。(^^;A

20090217_baby_02
コップ飲みもすっかり上手になってます。
飲んだ後にコップを時々振り回して残ってる飲み物が飛び散りますが・・・。(笑)

もちろん自分では漕げないので私が押してましたが、我が子は終始ご機嫌。
つーか、動きが止まると抗議してりたりします。(^^;A

20090217_baby_03
三輪車で散歩中の様子。チャンと座ってください。(^^;A

で、外周を1周したら良い運動になりました。
その後のミニストップでバニラアイスやポテトチップスを食べちゃいましたが・・・。(←ダメすぎ)

あと、この公園には結構な高さから滑り降りる「ジャンボローラー滑り台」がありまして我が子と一緒に滑ってきました。
結構な勢いで下りるしローラーでお尻がむず痒くなるんですが、結構喜んでました。

20090217_baby_04
霞間ヶ渓スポーツ公園が誇る「ジャンボローラー滑り台」。
後方に出発地点が見えてますが結構高い位置から出発します。

あと、ついでに池チャレのバートとミニランプの様子を見てきましたが、バートは表面のささくれが目立ってたのでやはり補修が必要っぽいです。
ミニランプの方はNFボードのおかげで表面は良さ気。
ただ、横方向の梁不足によるボトムのたわみが以前より大きくなってる気がするので上にもう1枚何かを貼らないとツライ気がします・・・。(´・ω・`)

| | コメント (0) | トラックバック (0)

家、見てきた。

新聞の広告を見たら町内で良さ気な分譲地の広告が入ってたので冷やかし半分で見てきた。

建築条件付の100坪の土地だったけど、今まで70坪前後で売り出されたのを横目で見てたので、100坪ぐらいあるとやっぱり余裕がある。周りの環境も良い感じだったし。

ハウスメーカはローコストをウリにしてる会社だったので中身が気になり係りの人に既に建ってる家の中を見せてもらった。

見せてもらった感じではあんまり安っぽさを感じなかった。
今時の家らしく窓ガラスやサッシも含めて断熱も充実してるみたい。
隣の家が基礎工事の最中だけど今時らしく「ベタ基礎」だったし。
この日には春のよーに暖かかった日だけど、入った室内の空気が「篭ってます」って感じゃなかったので確かに断熱は効いてるのかもしんない。

ちなみに予算はどれくらい?と聞いてみると予想通り3,000万円ぐらいと言われちゃった。
100坪の土地+注文住宅だとローコスト住宅でもやっぱりそれぐらいになっちゃうよねぇ・・・。(´・ω・`)

それにしても家って難しいねぇ。
建売じゃ中身は分かんない不安があるし、注文は高い&こちら側の手間も必要だし・・・。

で、アンケートすら書くことなく見学は終了。

2人目が生まれるし、今の我が家は上の子の学習机すら置くスペースもないので1~2年のうちに新居を用意する必要があるから、本気で考えないと思ってたので初めて展示会に突入したけど、営業担当者がしつこいかな?とか警戒してただけに呆気ないほどあっさりと開放してくれたので、ちょっと拍子抜け。(笑)

おかげで展示会に対するアレルギーがちょっと改善したかもしんない。

| | コメント (0) | トラックバック (0)

東海北陸道、ぎふ大和IC~白鳥IC間が2/20に4車線化

2月20日、東海北陸自動車道 ぎふ大和(やまと)ICから白鳥(しろとり)IC間が4車線になります -ぎふ大和IC~白鳥IC間の渋滞が解消-

瓢ヶ岳PA~白鳥IC間の4車線化事業のうち、2月20日に第2弾となるぎふ大和IC~白鳥IC間が4車線となります。

これで残りは郡上八幡IC~ぎふ大和IC間ですが、今年の夏ぐらいになるとの事。
来シーズンは渋滞知らずでスキーに行ける・・・はず。

東海環状自動車道も岐阜ICまで出来るとスキーヤー的にはさらにウハウハなんだけどなぁ。

| | コメント (0) | トラックバック (0)

USBメモリでアルバム販売

浜崎あゆみの新作「NEXT LEVEL」をUSBメモリで発売

浜崎あゆみのニューアルバム「NEXT LEVEL」がUSBメモリの形態で3月25日に発売されるそーです、

USBメモリ内の消去不能な領域に楽曲13曲+PV6曲を収録しているそーです。
価格は6,800円で通常のUSBメモリとしても利用できるそーです。

収録している楽曲やPVの著作権保護機能は不明ですがiPodなどの携帯プレーヤーにコピーできるよーになってるそーです。

CDより高音質で収録されていれば、差別化できてそれなりに存在意義はあるのかも?

| | コメント (0) | トラックバック (0)

2009年2月15日 (日)

Baby Care Report ~画伯誕生?~

以前から、お絵かきに興味があったよーなので、ベネッセの通販「すっく」で「クレヨン」を購入し、先日届きました。

ちなみにクレヨン選びで重視したのは

  • はみ出して書いても落とせやすいか?
  • 舐めても安全か?
  • 誤飲対策はされているか?

でした、ベネッセの「クレヨン」は上記の点を満たしていたので良かったです。
舐めても安全な「はちみつクレヨン」とかありますが、それと比べて苦味成分で誤飲対策もされているのは良いかと思います。
(ちなみに舐めてないのでホントに苦いのかは不明)

20090251_baby_01
届いたクレヨン。
クレヨンはPETフィルムで巻かれてるのも使い勝手も良さ気。

案の定、値段は高め。
オマケに送料もかかっちゃったりするし・・・。(^^;A

で、我が子は喜んで書いてました。
水で書ける「スイスイおえかき」もずっと前に与えていますが、やっぱり色が無いと興味が湧かないよーで、クレヨンとは食い付きっぷりが全然違ってました。(^^;A

20090251_baby_02
そこは裏面ですけどぉ。(笑)

ちなみに完成した作品は↓こんな感じ。

20090251_baby_03
ちなみに左半分は夫婦の合作。(笑)

もっとはみ出して書くかと思いきやキッチリ枠に収めてきたのは少々意外な感じ。
つーか、右手メインで書いてたので右側に寄っちゃってますな。(笑)

| | コメント (0) | トラックバック (0)

[VB.NET]「Atom API」を実装してのデータ送信

Webサービスとやり取りを行う「Atom API」をVB.NETで実装してみました。

この場合、キモとなるのは「WSSE認証」だと思うのですが、「WSSE認証」は要するにワンタイムパスワードみたいなものなので規格の内容を把握してればそれほど難しくは無いよーです。
(ちなみに「WSSE認証」は「SOAP」でも使われてます)

以下のコードは「WSSE認証」用のヘッダを付加してXMLドキュメントをPOSTしています。

'--------------------------------------
' ATOMを利用してXMLドキュメントを送信します
'--------------------------------------
Private Sub postXML()

    Dim strURL As String = ""
    Dim strResStr As String = ""

    'エンドポイントの設定
    strURL = "http://hogehoge.jp/atom/hoehogeService"

    'WSSE認証文字列の生成
    Dim wsseHeader As String = createWSSE("ID", "Password")

    'リクエスト用XMLの作成
    '内容をHTMLエンコードしないとXMLとして不正となる
    Dim strPostData As String = "<?xml version='1.0' encoding='utf-8'?>" & _
                                "<entry xmlns='http://purl.org/atom/ns#'>" & _
                                    "<title>" & Web.HttpUtility.HtmlEncode("題名") & "</title>" & _
                                    "<summary>" & Web.HttpUtility.HtmlEncode("本文") & "</summary>" & _
                                "</entry>"
    Dim byteData As Byte() = System.Text.Encoding.UTF8.GetBytes(strPostData)

    '送信用設定(XMLとして送信)
    Dim webreq As Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create(strURL), System.Net.HttpWebRequest)
    With webreq
        .Headers.Add("X-WSSE", wsseHeader)
        .Method = "POST"
        .ContentType = "application/atom+xml"
        .ContentLength = byteData.Length
    End With

    '接続&XMLドキュメントを送信
    Using reqStream As IO.Stream = webreq.GetRequestStream()
        reqStream.Write(byteData, 0, byteData.Length)
    End Using

    '送信結果の取得
    Using webres As Net.HttpWebResponse = webreq.GetResponse
        'ヘッダの内容を取得
        With webres
            For i = 0 To .Headers.Count - 1
                Debug.Print(.Headers.Keys(i) & ":" & .Headers(i))
            Next i
        End With

        '返信内容を取得
        Using resStream As IO.Stream = webres.GetResponseStream()
            Using sr As New IO.StreamReader(resStream, System.Text.Encoding.GetEncoding("UTF-8"))
                Debug.Print(sr.ReadToEnd())
            End Using
        End Using
    End Using

End Sub

'--------------------------------------
' ATOMのWSSE認証用ヘッダ文字列を生成します
'--------------------------------------
Private Function createWSSE(ByVal strID As String, ByVal strPw As String) As String

    createWSSE = ""

    ' nonce(HTTPリクエスト毎に生成するセキュリティ・トークン=ランダムな文字)の作成
    Dim nonce As String = RandomStringClass.CreateRandomString(20)

    ' Created(Nonceが作成された日時をISO-8601で表記)
    Dim created As String = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ")

    ' PasswordDigest(Nonce+Created+パスワードをSHA1でダイジェスト化)
    Dim sha1 As New Security.Cryptography.SHA1Managed()
    Dim pwdigest As Byte() = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(nonce & created & strPw))

    ' WSSE認証用のヘッダを作成(PasswordDigestとnonceはBase64でエンコード)
    Dim format As String = "UsernameToken Username=""{0}"", PasswordDigest=""{1}"", Nonce=""{2}"", Created=""{3}"""
    createWSSE = String.Format(format, strID, Convert.ToBase64String(pwdigest), Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(nonce)), created)

End Function

基本的にデータ送信はHttpWebRequestクラスを使ったオーソドックスなデータ送信です。
それにWSSE認証用のヘッダが追加されているって事になります。

WSSE認証用の各パラメータについては、Webで色々調べるて頂くとして、HTTPリクエスト毎に生成するセキュリティトークンである「nonce」だけちょっと触れます。

今回のサンプルの場合、nonceは「暗号乱数ジェネレータを使った厳密にランダムな文字列の生成」を利用してランダムに生成された文字列としていますが、本来は、8bitのByte値であり、0~9・A~Z・a~zの文字に限定されません。
また、サイズについても本来は任意のバイト数となっているよーです。

ちなみにパスワードを含んでいるPasswordDigestはハッシュ値なので、要求を受け取ったサーバ側で認証する際にサーバ側のDBに格納されているパスワードは平文に変換できるよーになってないと比較する事ができなかったりします。
もし、サーバ側DBに格納されているパスワードがハッシュ値しか無い場合は、クライアントはサーバ側と同じ方式でパスワードのハッシュ値を得てPasswordDigestにセットする事になるはずです。
クライアント側もたまたま同じ方式でハッシュ値を保存してれば、サーバ・クライアントイ共に平文のパスワードを得る方法が存在しないので脆弱性を突かれた場合を考えるとセキュリティ的に良いんですが、オープンなAPIとなった場合、上記理由から結果的にパスワードの保存方法の手の内を晒すことになったりします・・・。

| | コメント (0) | トラックバック (0)

2009年2月13日 (金)

滑走日数5日目(ダイナランド)

【日 付】: 2009年2月11日(水)
【場 所】: ダイナランド
【天 気】: 晴れのち雪
【気 温】: 雪が降ると寒い
【コース】: 上級コースはほとんどが滑走不可。それ以外はOK
【積 雪】: 公称180cm(雪質:かなり硬い)
【リフト】: 5/6(待ち時間:αライナーで5~10分程度)
【道 路】: 往路:大和ICから渋滞4km、復路:郡上八幡までのR156・県道、高速は郡上八幡IC以降は特に問題なし
【駐車場】: 多めホテル前までは埋まった(駐車料金:1,000円)
【パーク】: キッカー(ビッグ・9m・6m/3mの2Way)・ボックス(6m・6mT)・レール(5m・5m)、サーフライドパーク(多分、未完成)

2月はコレを逃すと滑れ無さそーだったので行ってきました。
まえちゃん・TKUMAさん・みっちーと一緒でした。
9時ぐらいに各務ヶ原ICを出発とかなりマッタリトした出発だったんですが、10時ちょい過ぎには現地で滑れる状態になってました。ビバ、東海北陸道。(笑)

なーんか人多め。
前後は平日なので何で混んでるのか謎でした。
(バスツアーの人が異様に多かったよーな気がする)

天候は午前中は風がやや冷たいものの晴れてました。

20090213_ski_01
ダウンヒルコースの様子。
一応、雪はある。けど、基本的にカチカチ。

翌日にビッグエアコンテスト「OKUMINO MASTERS」が控えてる事があってビッグキッカーは長さ12m、高さは3mぐらいのアップ系に成長してました。
あまりのそそり立ちっぷりに、ビッグキッカーの常連だったりする、みっちーすらビビってた。
私も話のネタに飛んでみたいと思いつつも「こんなの飛んでクラッシュしたら洒落にならん」とビビってたりして、「みっちーが飛ぶなら飛ぼう」と判断を他人任せにしちゃってました。(ぉぃ)

20090213_ski_02
かなりのアップ系となり、そそり立ってるビッグキッカー。

まぁ、まずはsnowstylepark側のキッカーを飛んで感触を確かめてからって事でパーク側に移動していつも通りに滑走開始。
ちなみに前回のダイナはsnowstyleparkが出来て無かったので、今シーズンのsnowstyleparkは初めてだったりします。

で、9mキッカーはアプローチに雪が溜まってるよーでスピードが出ず、漕ぐ必要がありました。
Rの幅が小さいので窮屈な印象があるけど感触としては極めて普通。
ただ、ランディングはカチカチで普通に着っても痛かったりする。(´・ω・`)

20090213_ski_03
手前が9mキッカー。奥が6m/3mの2Wayキッカー。
9mキッカーは結構大きく見える。

その他のアイテムは・・・地味な感じ。(^^;A
特に1発目のアイテムでTボックスを選んじゃうと後はウェーブしかなったりして、スロープスタイルタイプのパークだけど流して面白いって感じにはなってなかったりする。

で、snowstylepark側のキッカーであーだこーだとやってるうちに、ビッグキッカーは怪我人が出たらしくクローズ。あらら。
正直、飛ばなくて助かったと思っちゃったのは内緒だったりする。

午後から雪が降り出して視界不良。
おかげで9mキッカーはクローズ。
仕方がないの2Wayキッカーの6m側を飛ぶけど視界不良でランディングが見えないわ、ランディングは硬いわ、でテンション激落ちになったので、15:00に終了となりました。

ちなみに2Wayキッカーには「交互に入ってね」と書かれてますが、読んでないよーでディガーの合図を待たずに突っ込んじゃう人が結構見受けられました。( ̄з ̄)

ちなみにサーフライドパークは作りかけっぽいよーで、「うーん」な面白さ。
コッチもドロップする順番がグチャグチャな奥美濃らしいカオスな状況でした。
あと、サーフライドパーク内のヒップの硬さはハンパないです。(^^;A

20090213_ski_04
サーフライドパークの様子。
コレと言ったアイテムは設置されてませんでした。

やぱり、雪不足でコンディションは「ここ最近では最悪」と言われてますが、ホントにそんな感じでした。
そりゃ2月にスキー場で雨が降るなんて無かったもんねぇ・・・。( ̄▽ ̄;A

| | コメント (0) | トラックバック (0)

「HDR-XR520V」 vs 「HF S10」、春のビデオカメラ頂上決戦?(今度はHF S10のターン)

【小寺信良のElectric Zooma!】'09年春頂上決戦!? HDR-XR520V vs HF S10~ エンコード画質と画角で魅せる HF S10篇 ~

春のビデオカメラ頂上決戦の今回は「HF S10」のターン。

前回の「HDR-XR520V」の時

やめて小寺さん!「HF S10」のHPはもうゼロよ!

と書きましたが、「HF S10」も結構頑張っているよーです。

やっぱりAFの性能の良さは「HF S10」が一枚上手。
小寺氏も書かれてるけど、子供がコチラに走ってくるシーンは確かに外したくないけど、AF的には迷う場面だったりする。
こういった時でもAFが間に合うのはやっぱり重要だったりする。

あと、動画のエンコードはチューニングが上手いよーで、「HDR-XR520V」より好感触らしい。
ただ、静止画は「HDR-XR520V」の方が良いって話なので、むず痒い話だったりする。(^^;A

それに、モード切替不要の「デュアルショット」の便利さはXactiユーザなので良く分かってるし・・・。

と言う訳で、派手さは「HDR-XR520V」に横からスゴイ勢いでさらわれちゃったけど、キヤノンらしく相変わらず堅実と言った印象。

| | コメント (0) | トラックバック (0)

1,000fpsのハイスピード動画撮影が可能なコンデジ

カシオ、1,000fps撮影対応の薄型「EXILIM」2機種

ハイスピード動画撮影がウリの「HIGH SPEED EXILIM」にコンパクトデジカメとカード型デジカメが加わりました。

結構薄型なのに最大1,000fpsの超スロー映像が撮影可能だったりするのがスゴかったりします。

ただ、1,000fpsだと224×64ピクセルとかなり小さい映像になっちゃったりしますが・・・。(^^;A

その他にも

  • 600万画素でも秒間30枚の「超高速連写」
  • 遡って連写する「パスト連写」
  • 設定したタイムラグを補正する「タイムラグ補正」
  • 撮影時に被写体の動きを液晶画面上にスローモーション表示してシャッターを押せる「スローモーションビュー」
  • 高速連写した複数の画像を合成してブレの少ない画像にする「ハイスピード手ブレ補正」「ハイスピード夜景」
  • 連写したヤツから目を閉じていない笑顔の画像を自動的に検出してくれる「いち押しショット」

と高速連写を使った機能がてんこ盛りだったりします。

特に「いち押しショット」は高速連写の応用として面白いと思う。
普通のEXILIMには笑顔検出に対応した「オートシャッター」機能があるけど、「いち押しショット」は集合写真のよーな複数の顔のベストショットを撮る場合に便利かもしんない。

ちなみに720pのハイビジョン動画撮影も可能だったりします。
全ての動画形式はMotionJPEGなので容量の大きなSDメモリカードを用意しておきましょう。

| | コメント (0) | トラックバック (0)

2009年2月11日 (水)

[VB.NET]オブジェクトの逆シリアル化で空白や改行を再現する

XmlSerializerクラスの、オブジェクトのプロパティをXMLドキュメントとして保存する「シリアル化」、そこから復元してくれる「逆シリアル化」はiniファイル代わりになって結構便利だったりします。

しかし、String型のプロパティの値に空白や改行が含まれている状態で単純に逆シリアル化をすると空白や改行除去されてしまいます。

シリアル化されたXMLドキュメントを確認すると空白や改行が含まれているんですが、逆シリアル化の際に除去されているよーです。

原因はXmlSerializerクラスのDeserializeメソッドが、XmlDocumentクラスのPreserveWhitespaceプロパティがFalseに相当する方法でXMLドキュメントを読み込むからです。

しかし、XmlSerializerクラスにはPreserveWhitespaceプロパティ相当するプロパティが存在しません。
そこで、XmlDocumentクラスを利用してXMLドキュメントを読み込み、XmlReader経由で逆シリアル化を行う事で、空白や改行を有効なまま逆シリアル化を行う事ができます。

PreserveWhitespaceプロパティは本来空白のために用意されているんですが、改行も再現してくれるよーです。
(おそらく除去をしないで、そのまま要素の内容をスルーさせてるんだと思う)

つーか、単純に逆シリアル化出来るよーに、XmlSerializerクラスのSerializeメソッドが、シリアル化する際に自動的にエンコードしてくれても良いよーな気がするんですが、どーなんでしょ?(^^;A

具体的なコードは以下の通りとなります

''' <summary>
''' 設定をファイルから読み込む
''' </summary>
''' <param name="clsACC">AppConfigClass</param>
Public Shared Sub ReadConfig(ByRef clsACC As AppConfigClass)

    'XmlSerializerオブジェクトの作成
    Dim serializer As New System.Xml.Serialization.XmlSerializer(GetType(AppConfigClass))

    '空白・改行コードを維持するためにPreserveWhitespaceを有効にする
    Dim doc As New System.Xml.XmlDocument()
    doc.PreserveWhitespace = True

    'XmlReaderを使って読み込んで逆シリアル化
    doc.Load("hogehoge.xml")
    Using reader As New System.Xml.XmlNodeReader(doc.DocumentElement)
        Dim o As Object = serializer.Deserialize(reader)
        clsACC = DirectCast(o, AppConfigClass)
    End Using

End Sub

ReadConfigプロシージャの引数に逆シリアル化するクラスのインスタンスを指定して呼び出すと、インスタンスの内容をXMLドキュメント「hogehoge.xml」から取得して復元してくれます。

| | コメント (0) | トラックバック (0)

2009年2月 7日 (土)

SB、自前回線じゃPCデータ定額は無理宣言?

SBがイー・モバイルの回線を使ってPC向けの定額制データ通信を開始するってニュースなんですが、ちょっと驚いた。

S-1バトルに金を出すなら設備投資しろよ!」って声が聞こえてきそーな感じ。(^^;A

あと、iPhoneユーザがバンバン帯域を使うから、PCデータ定額も他社に対抗したいけど自前の回線じゃ無理っすよ。
って、白旗宣言なのか?って思われるんじゃないかって気もする。

都市部だと速度が出ない事が不満になりつつあるって話のイー・モバイルだけど大丈夫?
イー・モバイルも、回線数を増やしたいって思惑はあるだろーし、「音声はSBにもローミングさせてよ」って思惑もひょっとしたら有るのかもしれない。

オマケにSBはUQのモバイルWiMAXサービスでのMVNOも検討しているらしく、SBのPCデータ通信に対する想いは相当のよーです。

で、やっぱり白旗宣言と思われたよーで、「MVNOに回線を提供する側の立場なのに、それって責任放棄じゃないの?」と早速MVNO協議会からクレームが出たよーです。(^^;A

コレにし対して孫さんはもちろん反論。

確かに3.9GのLTEが目の前にぶら下がってる状況なので他社回線を借りてきた方が「良いよね」って経営判断も有りなのかもしれないけど、なんだかなぁ・・・。( ̄з ̄)

ちなみにローミングじゃなくてMVNOなので、データ通信端末がSBとイー・モバイルの両方の回線を切り替えて使えるよーにはならないと思う。多分。

| | コメント (0) | トラックバック (0)

人間の眼のメカニズムに近づけたCCDで夜景や室内写真がキレイに撮れるらしい「FinePix F200EXR」

“人間の目”がヒントの新CCD、富士フイルム「FinePix F200EXR」

人間の眼のメカニズムをヒントにした新開発の撮像素子「スーパーCCDハニカムEXR」を搭載したコンパクトデジタルカメラ「FinePix F200EXR」が発表されました。

ポイントになる「スーパーCCDハニカムEXR」ですが、人間の目は明るさによって解像度や感度を無意識に調整して、それぞれのシーンに合わせているそーなんですが、コレをデジカメの撮像素子でもやっちゃえというヤツです。

明るいところでは解像度を優先にする「高解像度優先」、暗いところではなるべく明るくクリアにする「高感度・低ノイズ優先」、逆光などコントラストがキツイところはダイナミックレンジを広げたりする「ダイナミックレンジ優先」と、これらの撮像方式を1つのCCDでまかなって自動切換えするそーです。

これによって人が見て違和感の少ない映像を作り出せると言う発想のよーです。(詳しい解説はコチラ

で、最近のカメラらしくシーンの自動選択に加えて、今回のCCDの撮像方式の自動切換える事で「どんなシーンでも目で見た映像を忠実に美しい写真」を実現しているそーです。

また、CCDの撮像方式を自分で指定する「EXR 優先モード」も用意されているそーです。

ちなみに、CCDは1200万画素ですが「高解像度優先」以外のCCD撮像方式を選択した場合は、画素混合が行われるために、出力される画像ファイルは600万画素相当となるそーです。
今時にしては低めな解像度になっちゃいますが個人的な利用に関しては十分な解像度だと思います。

「スーパーCCDハニカムEXR」は高解像度化に伴って問題となる感度低下に対する有効な解決方法となるのか?高感度時のキレイさがウリだったFinePixらしさを取り戻せるのか?サンプルが気になるところです・・・。

あと、個人的に載せて欲しかった笑顔検出は搭載されていないみたい。残念。(´・ω・`)

| | コメント (0) | トラックバック (0)

気になった2本のiPhoneアプリ

【気になったiPhoneアプリ、その1】

今度は赤ちゃんを振り向かせる──APPLIYAがiPhoneアプリ「赤ちゃんカメラ」を発売

あー、その手があったか。(笑)
そー言えば、スタジオアリスのカメラマンさんが同じ手を使ってたなぁ。

ついでに笑顔検出もして勝手にシャッターを切ってくれたら良かったかもしんない。

ただ、1歳児ぐらいだと液晶画面がある事に気付くと、カメラを構えた途端に「見せろー」と寄って来て撮影どころじゃないんだよなぁ・・・。(´・ω・`)

 

【気になったiPhoneアプリ、その2】

フリービット、iPhoneをサーバー化するアプリ「ServersMan@iPhone」

iPhoneをネットワークストレージ&Webサーバにしちゃうアプリ。

純粋に面白いアプリだと思うけど、コレどーやって使おう?(笑)
GPS・写真・マイクを活用できるガジェットも付属しているらしいんだけど・・・。

うーん、思いついたのは究極のプライベート垂れ流しサーバって感じなんだけど、果たして名も知らない一般人のプライベートを垂れ流したところで、それが面白いのか良く分からないし・・・。(^^;A

Webサーバ機能からカメラの撮影が出来たりマイクの音が拾えるなら、iPhone単体で完結するライブカメラシステムが構築できそーだけど・・・。
(あと、無線化しているから動いてる物に取り付ける事も出来るよねぇ)

うーん、外出先から家のペットを見たり、ペットの首輪に取り付けてペットの行動をログるぐらいしかやっぱり思いつかない。(^^;A

ちなみに、コッチの記事によると「ServersMan」のWindows Mobile版の開発も行っているそーです。

| | コメント (0) | トラックバック (0)

[VB.NET]文字列をチャンと暗号化する

.NETアプリの開発Tipsとして有名なDOBON.NETさんの「.NET Tips」に「ファイルを暗号化する」や「文字列を暗号化する」にサンプルのコードが挙がっていますが、初期化ベクタを生成せずデフォルト値をそのまま使っちゃっているため暗号化の処理としてちょっとマズイ事になっています。

そこで上記リンク先のコードを参考に改造を行いました。
ついでに暗号化アルゴリズムをRijndaelに変更してあります。

暗号化キーと初期化ベクタを生成は、RijndaelManagedのGenerateKeyメソッド・GenerateIVメソッドでランダムな暗号化キーと初期化ベクタを生成するようにしました。
そして、生成した暗号化キーと初期化ベクタはレジストリのHKEY_CURRENT_USER以下の任意の場所に保存し、復号化に備えています。

上記改造を施したコードは以下の通りとなります。

Public Class CrypticClass

    Public RegistryKey As String    'レジストリのキー

    Private Key As String       '暗号化キー(16進文字列)
    Private IV As String        '初期化ベクタ(16進文字列)

    Private aes As System.Security.Cryptography.RijndaelManaged

    '定数
    Private Const SubkeyKey = "Key"     '暗号キー保存用のレジストリのサブキー
    Private Const SubkeyIV = "IV"       '初期化ベクタ保存用のレジストリのサブキー

    Public Sub New()
        '初期化
        RegistryKey = ""
        Key = ""
        IV = ""
        'RijndaelManagedオブジェクトの作成
        aes = New System.Security.Cryptography.RijndaelManaged
    End Sub

    ''' <summary>
    ''' 暗号化&(無ければ)暗号化キーの生成と保存もします
    ''' </summary>
    ''' <param name="strSrc">暗号化する文字列</param>
    ''' <returns>暗号化された文字列</returns>
    Public Function Encrypt(ByVal strSrc As String) As String

        Encrypt = ""

        If strSrc = "" Then
            Exit Function
        End If

        If RegistryKey = "" Then
            Throw New ApplicationException("CrypticClass.RegistryKeyプロパティが設定されていません。")
        End If

        '暗号化キー・初期化ベクタを取得
        GetKey()

        '暗号化キー・初期化ベクタが無ければランダムな暗号化キー・初期化ベクタを生成&保存
        If (Key = "") Or (IV = "") Then
            'ランダムな暗号化キーを生成
            aes.GenerateKey()
            'ランダムな初期化ベクタを生成
            aes.GenerateIV()
            'ハイフン区切りの16進数表記に変換
            Key = BitConverter.ToString(aes.Key)
            IV = BitConverter.ToString(aes.IV)
            '生成された暗号化キー・初期化ベクタをレジストリに保存
            SaveKey()
            '念のため暗号化キー・初期化ベクタを再度読み込む
            GetKey()
        End If

        'キー・初期化ベクタの内容をチェック
        If (Key = "") Or (IV = "") Then
            Throw New ApplicationException("暗号化キーの生成に失敗しました。")
        End If

        '暗号化
        Encrypt = EncryptString(strSrc)

    End Function

    ''' <summary>
    ''' キーの取得&復号化
    ''' </summary>
    ''' <param name="strSrc">復号化する文字列</param>
    ''' <returns>復号化された文字列</returns>
    Public Function Decrypt(ByVal strSrc As String) As String

        Decrypt = ""

        If strSrc = "" Then
            Exit Function
        End If

        If RegistryKey = "" Then
            Throw New ApplicationException("CrypticClass.RegistryKeyプロパティが設定されていません。")
        End If

        '暗号化キーを取得
        GetKey()

        '暗号化キーが無い場合
        If (Key = "") Or (IV = "") Then
            Throw New ApplicationException("暗号化キーが存在しません。")
        End If

        '復号化
        Decrypt = DecryptString(strSrc)

    End Function

    ''' <summary>
    ''' キーの所得
    ''' </summary>
    Private Sub GetKey()

        'レジストリのキーを開く
        Using regkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(RegistryKey, False)
            'レジストリのキーが存在しない場合
            If (regkey Is Nothing) Then
                Exit Sub
            End If

            'サブキーに保存されている暗号化キーを読み込む
            Dim strKeyValue As String = CType(regkey.GetValue(SubkeyKey), String)
            'サブキーが存在しない場合
            If (strKeyValue Is Nothing) Then
                Exit Sub
            End If

            'サブキーに保存されている初期化ベクタを読み込む
            Dim strIVValue As String = CType(regkey.GetValue(SubkeyIV), String)
            'サブキーが存在しない場合
            If (strIVValue Is Nothing) Then
                Exit Sub
            End If

            '値のセット
            Key = strKeyValue
            IV = strIVValue
        End Using

    End Sub

    ''' <summary>
    ''' キーの保存
    ''' </summary>
    Private Sub SaveKey()

        'レジストリのキーを開く(無い場合は作成)
        Using regkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(RegistryKey)
            'レジストリへの書き込み
            'サブキーに暗号化キーと初期化ベクタを書き込む
            regkey.SetValue(SubkeyKey, Key)
            regkey.SetValue(SubkeyIV, IV)
        End Using

    End Sub

    ''' <summary>
    ''' 文字列を暗号化する
    ''' </summary>
    ''' <param name="str">暗号化する文字列</param>
    ''' <returns>暗号化された文字列</returns>
    Private Function EncryptString(ByVal str As String) As String

        EncryptString = ""

        '文字列をバイト型配列にする
        Dim bytesIn As Byte() = System.Text.Encoding.UTF8.GetBytes(str)

        '共有キーと初期化ベクタを設定
        aes.Key = HexToByte(Key)
        aes.IV = HexToByte(IV)

        '暗号化されたデータを書き出すためのMemoryStream
        Using msOut As New System.IO.MemoryStream
            'AES暗号化オブジェクトの作成
            Dim aesdecrypt As System.Security.Cryptography.ICryptoTransform = aes.CreateEncryptor()
            '書き込むためのCryptoStreamの作成
            Using cryptStreem As New System.Security.Cryptography.CryptoStream(msOut, aesdecrypt, System.Security.Cryptography.CryptoStreamMode.Write)
                '書き込む
                cryptStreem.Write(bytesIn, 0, bytesIn.Length)
                cryptStreem.FlushFinalBlock()
                '暗号化されたデータを取得
                Dim bytesOut As Byte() = msOut.ToArray()
                'Base64で文字列に変更して結果を返す
                EncryptString = System.Convert.ToBase64String(bytesOut)
            End Using
        End Using

    End Function

    ''' <summary>
    ''' 暗号化された文字列を復号化する
    ''' </summary>
    ''' <param name="str">暗号化された文字列</param>
    ''' <returns>復号化された文字列</returns>
    Private Function DecryptString(ByVal str As String) As String

        DecryptString = ""

        '共有キーと初期化ベクタを設定
        aes.Key = HexToByte(Key)
        aes.IV = HexToByte(IV)

        'Base64で文字列をバイト配列に戻す
        Dim bytesIn As Byte() = System.Convert.FromBase64String(str)
        '暗号化されたデータを読み込むためのMemoryStream
        Using msIn As New System.IO.MemoryStream(bytesIn)
            'AES復号化オブジェクトの作成
            Dim aesdecrypt As System.Security.Cryptography.ICryptoTransform = aes.CreateDecryptor()
            '読み込むためのCryptoStreamの作成
            Using cryptStreem As New System.Security.Cryptography.CryptoStream(msIn, aesdecrypt, System.Security.Cryptography.CryptoStreamMode.Read)
                '復号化されたデータを取得するためのStreamReader
                Using srOut As New System.IO.StreamReader(cryptStreem, System.Text.Encoding.UTF8)
                    '復号化されたデータを取得する
                    Dim result As String = srOut.ReadToEnd()
                    DecryptString = result
                End Using
            End Using
        End Using

    End Function

    ''' <summary>
    ''' BitConverter.ToStringの16進数表記をバイト配列に復元する
    ''' </summary>
    ''' <param name="strHex">16進数表記の文字列</param>
    ''' <returns>復元されたバイト配列</returns>
    Private Function HexToByte(ByVal strHex As String) As Byte()

        Dim i As Integer = 0

        Dim strHexChr() As String = Split(strHex, "-")

        Dim newBytes(UBound(strHexChr)) As Byte
        For i = 0 To UBound(strHexChr)
            newBytes(i) = Convert.ToByte(strHexChr(i), 16)
        Next i

        HexToByte = newBytes

    End Function
End Class

CrypticClassのインスタンスを生成後、RegistryKeyプロパティに暗号化キーと初期化ベクタを保存する(してある)レジストリの場所を指定します。

その後、暗号化する場合はEncryptメソッドを、復号化する場合はDecryptメソッドを呼び出します。
暗号化された文字列は扱いやすいよーにBase64でエンコードされています。

また、Encryptメソッドは指定されたレジストリの場所に暗号化キーと初期化ベクタの値が存在しているのかをチェックし、無ければRijndaelManagedのGenerateKeyメソッド・GenerateIVメソッドでランダムな暗号化キーと初期化ベクタを生成してレジストリに保存しています。

ちなみに生成された暗号化キーと初期化ベクタはBitConverter.ToStringメソッドでハイフン区切りの16進数表記の文字列でレジストリに登録されています。

また、暗号化キーと初期化ベクタはアクセスコントロールがチャンとしている場所に保存しないと第三者が覗けてしまって意味が無くなるので保存場所に気を使う必要があります。

あと、ブロック長やキー長はデフォルトのままになっています。(^^;A


【2009.08.21追記】

「DPAPI」を利用して暗号化キーの保存をWindows任せにすることで手軽に暗号化を実装することが可能です。
詳細についてはコチラをご覧ください。

| | コメント (4) | トラックバック (0)

[VB.NET]暗号乱数ジェネレータを使った厳密にランダムな文字列の生成

Visual Basic 言語リファレンスの「Rnd 関数」の「セキュリティに関するメモ」にも書かれていますが、ワンタイムパスワードなどランダムな文字列を生成する場合、「Rnd 関数」はランダムとは言えアルゴリズムを知ってると結果を予想することができるので「使用するな」と書かれています。

じゃ、どのように暗号に適した文字列を作成するかと言うと
「暗号化サービス プロバイダ」によって提供される「暗号乱数ジェネレータ」を使用して暗号的に厳密なランダム値を生成して、そこから文字列を生成します。

具体的なコードは以下の通りとなります。

ちなみにRollDice関数は、MSDNのRNGCryptoServiceProvider.GetBytes メソッドのサンプルをそのまま流用してたりします。(^^;A

Public Class RandomStringClass

    ''' <summary>
    ''' ランダムな文字列の生成
    ''' </summary>
    ''' <param name="intKeyLen">文字数</param>
    ''' <returns>ランダムな文字列(0~9、A~Z、a~zの組み合わせ)</returns>
    Public Shared Function CreateRandomString(ByVal intKeyLen As Integer) As String

        CreateRandomString = ""

        '指定の文字数になるまでランダムな文字を生成
        Dim strKey As String = ""
        Do Until Len(strKey) >= intKeyLen
            'ランダムな文字を生成
            Dim strKeyChar As String = Chr(RollDice(122 - 47) + 47)
            '数字・英字の範囲かチェック
            Select Case strKeyChar
                Case "0" To "9", "A" To "Z", "a" To "z"
                    strKey = strKey & strKeyChar
            End Select
        Loop

        CreateRandomString = strKey

    End Function

    ''' <summary>
    ''' 暗号サービス プロバイダの暗号乱数ジェネレータを使っての乱数の生成(MSのヘルプから引用)
    ''' </summary>
    ''' <param name="NumSides">出力値の最大値</param>
    ''' <returns>乱数(1~指定した最大値)</returns>
    Private Shared Function RollDice(ByVal NumSides As Integer) As Integer
        ' Create a byte array to hold the random value.
        Dim randomNumber(0) As Byte

        ' Create a new instance of the RNGCryptoServiceProvider.
        Dim Gen As New System.Security.Cryptography.RNGCryptoServiceProvider()

        ' Fill the array with a random value.
        Gen.GetBytes(randomNumber)

        ' Convert the byte to an integer value to make the modulus operation easier.
        Dim rand As Integer = Convert.ToInt32(randomNumber(0))

        ' Return the random number mod the number
        ' of sides.  The possible values are zero-
        ' based, so we add one.
        Return rand Mod NumSides + 1
    End Function 'RollDice

End Class

CreateRandomString関数の引数intKeyLenに必要な文字数を指定すれば、0~9・A~Z・a~zを組み合わせたランダムな文字列が返ってきます。

| | コメント (0) | トラックバック (0)

2009年2月 5日 (木)

Baby Care Report ~お雛さん出したよ&節分編~

近くのお店でも雛人形が出てる季節になって、その雛人形を我が子が興味深そーに見てたので「早く出してあげよう」と奥様の提案を受けて先週の土曜日に雛人形を出しました。

我が子も成長したおかげで、「何?何?何それ?」と我が子の襲撃が予想されたので物置状態のベビーベッドを整理して、ベビーベッドの中に設置しました。

流石に柵の中っぽい感じにはしたくなっかので近所のホームセンターで台を買ってきてその上に置いたのでベビーベッドの上から見えてる状態になってます。

設置に関しては作業してて徐々に思い出したので滞りなく終了。

ただ、その横で興味津々の我が子の波状攻撃を奥さんのお母さんが必死で食い止めていましたが・・・。(^^;A

20090205_baby_01
設置が完了した雛人形。
やっぱり設置すると華やかな雰囲気になる。

で、1年ぶりに対面した雛人形と我が子ですが、何故か我が子は雛人形を拝んでました。
若いのに意外に信心深いのね。(笑)

で、先日は節分だったので、奥さんお手製の鬼のお面を付けて帰宅しましたが、怖がるどころか喜んでました。可愛い鬼のお面だったので予想通りの反応。(笑)

あと、恵方巻きをモクモクと食べてましたが、我が子の襲撃に耐える必要がありました。(^^;A

つーか、東海地方でも恵方巻きってスッカリおなじみになりましたねぇ。
コンビニに行くとロールケーキも恵方巻き扱いだったりしますけど・・・。

ちなみに節分には谷汲山の仁王門の前に高さ4mの赤鬼像が、こんな感じに設置されたりします。

子供のころ、コレ怖かったんだよねぇ。
股をくぐると厄払いになるんで親はくぐろうとするけど、私は怖いから必死で抵抗した思い出があったりする。

我が子の場合はどーなんだろ?
ビビリやさんなので怖がりそーな気がするんだけど・・・来年連れて行ってみよかな?(笑)

| | コメント (0) | トラックバック (0)

「HDR-XR520V」 vs 「HF S10」、春のビデオカメラ頂上決戦?

【小寺信良のElectric Zooma!】'09年春頂上決戦!? HDR-XR520V vs HF S10

お馴染み小寺氏が、ソニーの「HDR-XR520V」と、キヤノンの「HF S10」の2台のビデオカメラを撮り比べて比較した記事。

で、今回はソニーの「HDR-XR520V」側のターンって事なんだけど・・・早くも1ターン目で「HF S10」って完敗じゃないか?

記事を読んでて

やめて小寺さん!「HF S10」のHPはもうゼロよ!

って気分になってきた。(笑)

手ブレ補正とか夜間撮影とか「HDR-XR520V」スゴすぎ。
あまりのスゴさにホントにビックリした。・・・あー、HDC-SD3壊れないかなぁ。(ぉぃ)

これでAFも早かったら完璧なんだろーけど、そこはAF用外測センサーを積んでるので「HF S10」の方が上な予感がしてます。

つーか、パナソニック機は頂上決戦の蚊帳の外ですか。そーですか・・・。(^^;A

| | コメント (0) | トラックバック (0)

モバイルWiMAX、もーすぐサービス開始

UQコミュニケーションズのモバイルWiMAXサービス「UQ WiMAX」が2月26日に開始されるそーです。

当初のサービスエリアは、東京23区・横浜市・川崎市の一部だそーで、その他山手線など首都圏の44駅にも基地局を設置するそーです。

月額料金は4480円で二段階も縛りも何も無いそーです。

で、驚いたのが端末価格。
12,800円~13,800円と3Gのデータカードに比べてかなり低価格だったりします。

ちなみにOSからはNICとして見えているよーでローカル接続扱いなんだそーです。

NIC扱いとか低価格な端末だったりするのは、モバイルWiMAXが無線LANから発展した規格だったりするのが関係しているのかもしれません。

あと、無線LANとアンテナを共有できるそーなのでPCなどへの組み込みは3Gより簡単なんだそーです。

ちなみに「UQ WiMAX」の基地局はauやツーカーの既存基地局内に設置されているらしくエリア展開は結構速いかもしれません。
その一方でKDDIは3.9GのLETの導入でもauやツーカーの既存基地局を流用するらしくて、KDDIの基地局は結構賑やかになりそーな感じ。

また、電話じゃなくて無線LANなので端末はUQからではなく他メーカなどがモバイルWiMAXに準拠した端末を勝手に出す形態になるそーです。
で、初回に繋ごうとするとUQやMVNO事業者のオンラインサインアップ画面に繋がる仕組みのよーです。

「無線」って手軽さや帯域の広さや制限の少なさからADSLの置き換えを狙ってくるんだろーし、ISPから見れば接続手段が1方式にまとまるのでサポートが楽になるメリットもあるようで、早速@NiftyがMVMOでサービスを提供するそーです。

ただ、生まれが無線LANなのでハンドオーバーとか、高速移動時とか、ホントに大丈夫なのか?気になる所ではあります・・・。

ところで、SIMカードに相当するものが存在せず、機器認証+ID・パスワードによるユーザ認証で利用者を特定する仕組みらしいんですが、複数の機器を持ってる場合、利用料金って変わらないのかな?

インテルに担がれて機器への組み込みを積極的に展開するらしいので1人が複数の端末を所有して同時に使用するシチュエーションは普通にありそーなんだけど・・・。

| | コメント (0) | トラックバック (0)

« 2009年1月 | トップページ | 2009年3月 »