在最近的開發(fā)中,遇到了一個問題,發(fā)現(xiàn)Python沒有一個生成指定復(fù)雜度密碼的模塊(反正我沒有找到),需要自己寫一段生成隨機(jī)數(shù)的代碼來生成密碼,因此我就用C++自己寫的一個擴(kuò)展模塊。
創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)公司為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)公司核心團(tuán)隊(duì)十多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。模塊的要求:
上面的要求可以自己定制,比如說加上特殊字符,都是可以的,只要稍稍修改下代碼即可。
頭文件
//
// Created by lanyulei on 18-9-27.
//
#ifndef GENERATEPASSWORD_GENERATEPASSWORD_H
#define GENERATEPASSWORD_GENERATEPASSWORD_H
#include
#include
#include
#include
using namespace boost::python;
class GeneratePassword{
public:
GeneratePassword(int length);
std::string getPassword();
private:
int m_intLength;
};
#endif //GENERATEPASSWORD_GENERATEPASSWORD_H
源文件
//
// Created by lanyulei on 18-9-27.
//
#include "GeneratePassword.h"
using namespace std;
// 判斷密碼復(fù)雜度是否符合要求
bool judgment(const string& passowrdValue, int length) {
int Pcount = 0;
int pcount = 0;
int numberCount = 0;
for (int i=0; i
("gpassword", init())
.def("getPassword", &GeneratePassword::getPassword);
}
編譯命令
# python3
g++ -shared -o helloworld.so -fPIC -I/usr/include/python3.6m/ helloworld.cpp -lpython3.6m -lboost_python3
# python2
g++ -shared -o helloworld.so -fPIC -I/usr/include/python2.7/ helloworld.cpp -lpython -lboost_python
效果展示
In [2]: import gpassword
In [3]: gp = gpassword.gpassword(18) // 實(shí)例化,并且設(shè)置生成多少位的密碼
In [4]: gp.getPassword() // 生成密碼
Out[4]: 'fa37JncCHryDsbzayy'
寫的有點(diǎn)low,如有好的意見請不吝賜教,非常感謝。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。