Hatena::ブログ(Diary)

TeahousePhantomProgramDiary このページをアンテナに追加 RSSフィード

2014-10-20 PHP で AES bit 256 CBC 暗号化と復号化

PHP で AES-256-CBC 暗号化と復号化

綺麗にまとまったので書き込んでおきます。

<?php
//http://qiita.com/ymmtmsys/items/a38d4ddadf548c8a482c を参考にしました。

$plain_data = 'plain text';
$password = 'PASSWORD';

$method = 'AES-256-CBC';
$initial_vector_length = openssl_cipher_iv_length($method);
$initial_vector = mcrypt_create_iv($initial_vector_length, MCRYPT_RAND);

$data = $initial_vector . $plain_data;
$base64_encode_crypt_data = openssl_encrypt($data, $method, $password, 0, $initial_vector); //暗号化
$encode_crypt_data = base64_decode($base64_encode_crypt_data);

//別の箇所で暗号化された場合で URL safe な encode を行っている場合、下記の方が良い。
//$encode_crypt_data = base64_decode(str_replace(array('-', '_', '='), array('+', '/', ''), $base64_encode_crypt_data));

//initial vector は先頭 $initial_vector_length の BYTE に格納されている
$initial_vector = substr($encode_crypt_data, 0, $initial_vector_length);

//暗号文本体は $encode_crypt_data の先頭の $initial_vector を除いたもの全て
$crypt_body_data = substr($encode_crypt_data, $initial_vector_length);
$base64_crypt_body_data = base64_encode($crypt_body_data);
echo openssl_decrypt($base64_crypt_body_data, $method, $password, 0, $initial_vector) . PHP_EOL;    //復号化
$ php openssl.php
plain text

mimic28号でした。

2014-05-25 DeployGate

Ubuntu の box の disk size が小さいので resize

http://blog.dakatsuka.jp/2014/04/24/vagrant-hdd-resize.html を参考

__BOX_NAME__ は任意で変更して下さい。

vagrant box add --name __BOX_NAME__ https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

#VMDK 形式だと SIZE を変更する事が出来無いので VDI 形式に変換する必要が有る。
cd ~/.vagrant.d/boxes/__BOX_NAME__/0/virtualbox/
VBoxManage clonehd box-disk1.vmdk box-disk1.vdi --format VDI

#20GB にします
VBoxManage modifyhd box-disk1.vdi --resize 20480
mv box-disk1.vmdk _box-disk1.vmdk
VBoxManage clonehd box-disk1.vdi box-disk1.vmdk --format VMDK
rm box-disk1.vdi
rm _box-disk1.vmdk

#下記の様に続ける
cd ~/vagrant/example
vagrant init __BOX_NAME__
vagrant up

mimic28号でした。

2014-05-15 image twi

画像を呟く。

結論から画像を取得したい blog などの RSS を登録してね。

http://ancient-refuge-7777.herokuapp.com/

そうすると

http://twitter.com/img_twi で観られるよ。


"service" を盛り上げようと思って何か無いかなと思って web で調べてみると Twitter

使って誘導しろと言う感じの事を書いて有ったので成程と思い何かするかと考えて

そう言えば Heroku で PHP が使える様になったらしいからそれで何かやろうと思いました。


https://blog.heroku.com/archives/2014/4/29/introducing_the_new_php_on_heroku

RSS から画像を取って tweet をするものを作りました。使った技術( https://github.com/dg/twitter-php )


でも RSS を登録するのが面倒になったので皆さんの力を使った方が良質の画像が取れるな〜。

これからは、登録した RSS を見分ける為の Twitter の hash tag (#) を追加出来る改造をする位は考えてますが他に何か有った方が良いものって有りますかね。

追加されている RSS は下記です。

http://ancient-refuge-7777.herokuapp.com/rss_list.txt


GitHub に upload しました。実装の内容は適当なので手を入れて貰っても構いません。

https://github.com/RSaGa2-mimic/img-twi


あ、後 bug が有るかもです。

"service" 宜しく御願い致します(笑)


mimic28号でした。

2014-03-20 検索

MySQL 全文検索 MeCab

page を出し過ぎって会う人会う人に言われるので article に package 化をして行こう。


http://www.slideshare.net/y-ken/my-sql-56innodb-fts


http://weble.org/2011/09/22/mac-lion-mecab

http://weble.org/2011/10/04/full-text-search


mimic28号でした。

MySQL 全文検索 MeCab を PHP で使う

page を出し過ぎって会う人会う人に言われるので article に package 化をして行こう。


install して使うまでの流れ。

https://github.com/rsky/php-mecab


http://qiita.com/kawanamiyuu/items/9d5e1eecae5f973ec273

https://github.com/kawanamiyuu/vagrant-php-mecab/tree/master/src


mimic28号でした。

2014-03-10 一歩前へ

Vagrant で仮想環境構築をしていて参考になった URL

page を出し過ぎって会う人会う人に言われるので article に package 化をして行こう。


下記から Vagrant の動作のさせ方を学びました。

http://dotinstall.com/lessons/basic_vagrant


下記から Chef や ChefSolo や recipe の知識を得ました。

http://ch.nicovideo.jp/dwango-engineer/blomaga/ar311555

http://ch.nicovideo.jp/dwango-engineer/blomaga/ar322283

http://ch.nicovideo.jp/dwango-engineer/blomaga/ar325738

http://ch.nicovideo.jp/dwango-engineer/blomaga/ar334285


http://qiita.com/taiki45/items/b46a2f32248720ec2bae


http://tsuchikazu.net/chef_solo_start/


下記を模写して新しいものに応用しました。

https://github.com/opscode-cookbooks

https://github.com/mamor/vagrant-phpdev-ubuntu


recipe を作成する際に必要

http://docs.opscode.com/resource.html


何をどうしたのかは書く時間が出来たら行います。


mimic28号でした。

Laravel4 database の table 作成

page を出し過ぎって会う人会う人に言われるので article に package 化をして行こう。


database の設定を設定 file に記載し終わっているとして。


http://laravel4.kore1server.com/docs/schema

http://laravel4.kore1server.com/docs/migrations


mimic28号でした。

2014-03-01 Unity

Unity をちゃんと操作出来る様になりたい。

page を出し過ぎって会う人会う人に言われるので article に package 化をして行こう。


http://www.sbcr.jp/support/11683.html

http://www006.upp.so-net.ne.jp/chewee/uni-mini-hon/omake.htm


物理演算を使って何か作るのは面白そうだ。


mimic28号でした。

2013-03-30 PerlCasual #05

久し振りに Perl の事を気にした日

唐突に行きたくなって PerlCasual #05 に行って来ました。

纏まってます。ね。

http://yusukebe.com/archives/20130330/105031.html

http://d.hatena.ne.jp/sugyan/20130330/1364575739

id:sugyan さんに思い知らされたのは、こんなに環境で変わるのかと思い知らされました。

自分の開発とは全然違う、すらすら作っている。羨ましっ!って思いました。

Perl の今を少し感じられた日になりました。有難う御座いました。

mimic28号でした。