快速搭建python程序


公司對外提供了http接口服務,涉及到了des加密,有客戶用Python開發,但搞不定加密,客戶的問題就是大問題,雖然以前沒接觸過Python,也只能硬着頭皮上,不停的baidu各種資料,從環境搭建、到hello world、最后到des加密實現,終於在半天之內幫客戶搞定。感嘆Python強大的類庫,幾行代碼搞定穩定,大家網上分享自己的各種經驗關鍵時候真能幫上大忙,遇到各種問題都能搞定。以下是記錄自己從Python零基礎到實現des加密的過程,留作備忘與和我一樣遇到類似問題的朋友。

  • 安裝python環境
  • 安裝IDE(Eclipse+PyDev)
  • hello world實現
  • des加密實現

安裝python環境

  1. python可以從python官網下載。
    遇到問題:python版本的選擇,從官網看主要有2.x和3.x,而且都在更新,翻看資料大概看了看,兩個版本有差別,考慮到我看的教程用的2.7.15,果斷選擇了同樣的版本。下載“Windows x86-64 MSI installer(for AMD64/EM64T/x64)”並安裝,一路next安裝完成。

  2. 配置環境變量
    這個對安裝過java的程序員來說是輕車熟路,稍微提一下,如果安裝python時,勾選“Add Python to PATH”可以省去這一步。
    配置好后win+r,輸入cmd,輸入python,輸出“Python 2.7.15”,環境配置成功。

安裝IDE(Eclipse+PyDev)

  1. 安裝插件
    網上查了下,python IDE還真不少,之前本地安裝了Eclipse,選擇Eclipse+PyDev方案。
    Eclipse本地早已安裝好,直接在Eclipse安裝PyDev插件。步驟:

Eclipse菜單 -> Help -> Install New Software... -> Work with (Add..)
Name:PyDev
Location:http://pydev.org/updates

  1. 安裝問題
    一路next,finish,安裝成功后竟然看不到插件,幾番百度下來,發現Eclipse和PyDev有個版本對應關系,參考解決安裝成功看不到插件,把上圖中的Location改為“http://www.pydev.org/update_sites/old/” ,同時把上圖中第一個復選框“Show only the lastest versions of availabele soft”的勾選去掉。Eclipse和PyDev版本對應關系Python官網有介紹。

    這里還有個小插曲,以為插件安裝點完finish就安裝完畢了,立馬重啟Eclipse,其實不是,應該還有個下載安裝的過程,尤其是網速比較慢的情況下,Eclipse窗口右下角會顯示“Installing Software 31%”,還會有確認窗口和重啟Eclipse提示。這步也浪費了不少時間,可能這一步對的話能省掉選擇Python版本一步。

  2. 配置插件

Eclipse和Python關系:
Eclipse菜單 -> Windows ->Preferences -> PyDev-> Interpreters - Python Interpreter.
點擊New按鈕,選擇python.exe的路徑(第1步安裝Python的路徑),打開后顯示出一個包含很多復選框的窗口,點OK結束!

hello world實現

  1. 編寫hello world
    按照網上的操作步驟,添加一個項目DesTest,添加package,添加Module命名hello.py,代碼如下:
# -*- coding: UTF-8 -*-
print("Hello world");

遇到問題:java思維嚴重,一直想着怎么添加一個class文件,沒有,仔細看了下資料才發現應該是添加Module。
2. 運行代碼
右鍵 Run As -> Python Run,輸出Hello world,執行成功。
遇到問題:報錯“SyntaxError: Non-ASCII character '\xca'”,中文編碼問題,需要添加“# -- coding: UTF-8 --”。
到這一步,感覺看到曙光了,環境已經准備好,剩余工作就是搞定Des加密類庫,生成合適的參數,調試結果了。

des加密實現

實現起來並不難,主要是用到了pyDes庫,下載pyDes-1.3.1.zip並解壓,里面有setup.py文件,使用命令python setup.py install命令安裝即可。

實現des完整代碼如下:

# -*- coding: UTF-8 -*-
from pyDes import *
import base64
from string import lower

# Des加密算法封裝
def desFacade(data, token):
  #不足8位則用數字0補足至8位
  token = token + "00000000";
  #加密KEY為經紀雲KEY密文前8位
  key = token.lower()[0:8];
  print "Decypted string: %r" % key;
  k = des(key, CBC, key, pad=None, padmode=PAD_PKCS5);
  desString = k.encrypt(data);
  d = base64.b64encode(desString);
  return d;

passwork = "qawsed";
fangToken = "jjRxxxxxyxy";
print "Decypted string: %r" % desFacade(passwork, fangToken)
#結果O1lDo+QTAL4=
assert desFacade(passwork, fangToken) == "O1lDo+QTAL4=" ;

參考教程:http://www.runoob.com/python/python-tutorial.html,快速熟悉語法全靠它了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM