NAME OpenSocialX::Shindig::Crypter - OpenSocial Shindig Crypter VERSION version 0.01 SYNOPSIS use OpenSocialX::Shindig::Crypter; my $crypter = OpenSocialX::Shindig::Crypter->new( { cipher => 'length16length16', hmac => 'forhmac_sha1', iv => 'anotherlength16k' } ); my $token = $crypter->create_token( { owner => $owner_id, viewer => $viewer_id, app => $app_id, app_url => $app_url, domain => $domain, module_id => $module_id } ); DESCRIPTION Apache Shindig is an OpenSocial container and helps you to start hosting OpenSocial apps quickly by providing the code to render gadgets, proxy requests, and handle REST and RPC requests. From the article , we know that we can do 'Application' things in Perl. basically the stuff will be * use Perl OpenSocialX::Shindig::Crypter (this module) to create st= encrypted token through "create_token" * the php "BasicBlobCrypter.php" will unwrap the token and validate it. The file is in the "php"dir of this .tar.gz or you can download it from you can copy it to the dir of "extension_class_paths" defined in shindig/config/container.php, it will override the default "BasicBlobCrypter.php" provided by shindig. and the last thing is to defined the same keys in shindig/config/container.php like: 'token_cipher_key' => 'length16length16', 'token_hmac_key' => 'forhmac_sha1', 'token_iv_key' => 'anotherlength16k', remember that "token_iv_key" is new METHODS * new my $crypter = OpenSocialX::Shindig::Crypter->new( { cipher => 'length16length16', hmac => 'forhmac_sha1', iv => 'anotherlength16k' } ); "cipher" and "iv" must be 16 chars. * create_token my $token = $crypter->create_token( { owner => $owner_id, viewer => $viewer_id, app => $app_id, app_url => $app_url, domain => $domain, module_id => $module_id } ); if you don't know what "module_id" is, you can leave it alone. * wrap my $encrypted = $crypter->wrap({ a => 1, c => 3, o => 5 } ); encrypt the hash by Crypt::Rijndael and Digest::SHA and encode_base64 it * unwrap my $hash = $crypter->unwrap($encrypted); decrypt the above data * deserialize * checkTimestamp * _serializeAndTimestamp AUTHOR Fayland Lam COPYRIGHT AND LICENSE This software is copyright (c) 2009 by Fayland Lam. This is free software; you can redistribute it and/or modify it under the same terms as perl itself.