PyCrypto: GAE で動いた

Djangoビュー

hdknr@LennyOne:~/gae/hoge$ more  aes/views.py

# Create your views here.

import sys
import base64
from django.shortcuts  import render_to_response

def index(reqeust):
  msg=”
  return render_to_response((‘aes/index.html’),{’msg’:msg} )

def padtext(src,length,c):
  p = length – (len(src))%length
  return src +”.join([ c for x in range(p) ] )

def enc_text(key,plain):
   from Crypto.Cipher import AES
   return base64.b64encode( AES.new(key,AES.MODE_ECB).encrypt(plain)   )

def encrypt(request):
  (key,plaintext,ciphertext)=( padtext(request.POST[‘key’],16,’*’),padtext(request.POST[‘plaintext’],16,’$’),”)
  try:
    ciphertext =str( enc_text(key,plaintext) )
  except:
    ciphertext = str(sys.exc_info()[0])+":"+str(sys.exc_info()[1])

  return render_to_response((‘aes/encrypt.html’),{’key’:key, ‘plaintext’:plaintext, ‘ciphertext’:ciphertext} )

更新。

hdknr@LennyOne:~/gae/hoge$ python manage.py update
WARNING:root:Could not read datastore data from /tmp/django_hidelafoglia.datastore
WARNING:root:Could not read datastore data from /tmp/django_hidelafoglia.datastore.history
INFO:root:zipimporter(‘/home/hdknr/gae/hoge/django.zip’, ‘django/core/serializers/’)
Scanning files on local disk.
Scanned 500 files.
Scanned 1000 files.
Initiating update.
Cloning 58 application files.
Deploying new version.
Checking if new version is ready to serve.
Will check again in 1 seconds.
Checking if new version is ready to serve.
Closing update: new version is ready to start serving.
Uploading index definitions.

http://now.hdknr.com/aes/ でキーとテキストを16バイトの倍数長で入れる。

WS000015

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中