diff --git a/序列号生成器/.idea/.gitignore b/序列号生成器/.idea/.gitignore new file mode 100644 index 000000000..6ac1cc3ed --- /dev/null +++ b/序列号生成器/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/序列号生成器/.idea/deployment.xml b/序列号生成器/.idea/deployment.xml new file mode 100644 index 000000000..547f84f49 --- /dev/null +++ b/序列号生成器/.idea/deployment.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/序列号生成器/.idea/inspectionProfiles/Project_Default.xml b/序列号生成器/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 000000000..b0f68996e --- /dev/null +++ b/序列号生成器/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/序列号生成器/.idea/inspectionProfiles/profiles_settings.xml b/序列号生成器/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 000000000..105ce2da2 --- /dev/null +++ b/序列号生成器/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/序列号生成器/.idea/misc.xml b/序列号生成器/.idea/misc.xml new file mode 100644 index 000000000..65531ca99 --- /dev/null +++ b/序列号生成器/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/序列号生成器/.idea/modules.xml b/序列号生成器/.idea/modules.xml new file mode 100644 index 000000000..6e9bd6e93 --- /dev/null +++ b/序列号生成器/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/序列号生成器/.idea/序列号生成器.iml b/序列号生成器/.idea/序列号生成器.iml new file mode 100644 index 000000000..d0876a78d --- /dev/null +++ b/序列号生成器/.idea/序列号生成器.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/序列号生成器/priv.pem b/序列号生成器/priv.pem new file mode 100644 index 000000000..ad541b4d4 --- /dev/null +++ b/序列号生成器/priv.pem @@ -0,0 +1 @@ +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCQUVYKiucuvoxC1rj632lX02KdAwhEcoL44tLdjc2H1uQjXBZrLodHBXJrXYyJhDtc87e4ABf9RetEUJU5EDlNacnKvo78c98+PmmqA5pWCFLhc73paydtsqi4ZM58Uwh2/6BDDXHw/IPnjI4Mg4NbRsD4ntYuExnOYtAAiV8hEZRp9nvyEcMz88RtmNKiBUk19n6coUzUy1qryqaEjzmMizWxSEwLAekuklreXsyrheJhKPerbluDk8bFtiQ+Ys/U8pqdJBJHPqv06gSAJHrPsqYgmhWxqHx3/LriwOK6wv1NDEY1ZMbpIcvrCSACyhgGWllak6hWw7m7P4eGnVtBAgMBAAECggEAZb0BNBNyILDx/liTNUB0aha6KUgu9tnnXP/Cea/y2bVzRT4xC8RUV4wOeoQLhBJ1KvUhahSe1M0KqzFH0V+PlfRi7oviDzS8h4vGP7WkgswBabCHjFsfA6V0bfGa42hBymoxF7QNxD6v2ndq2IWJ/7nkZiDLitWqVqWwTwCI0K0ViMA8Ulke/NVxh7krkjaH8+ZskFLf3AXPiPnABVnGacZBHi4Gi+08l5s/5Q4vvsTlSTiOSIdvW+StH6tGb1rm4taPoUjxPDUCPLkrK8tZ7ew4/a4sQO65Sq0l58zuOUtx+qCRGqCopxsirj0PxMhncNVYt/2p/gfxNZ5qITpxZQKBgQD2ju+p/Da5Ai+itF8L3winIm5/n+y677FdUnnjJfQmZsBLumN8J9SYJdpqT8wAjRY88T3YwWdSzsCjhRN0FSzE58Fajh2Zr7OfAOFYvPuz2qYGRmajvuG+aos2WPCv7b+Gs2DOOsXaI8YVB0meayYJdV8VL2Zugt3cWwMSKCPPrwKBgQCV2B0EW64joibnV7M6Y6XSPer3h8P6effPQ/m5nehHaEfvrL+xwt/Iro5fslzBy9adS/r4hSNuqiFjP8qCwSYu2ELzfnI5X7GrQAx2KhYLaMclb3mInbMqLtpu9kHYJhNxKJpBFrWf9Q/b9mJHXN86Yh9VzcZ9fZpHT7FbxBrQDwKBgQCKv0T/U383/ZLw7K/P7mLgKvAjwctmJxyYd6E/wkvykEAGXY0+gOuR8ztGOEGEzeCFyvwSzkNmxhKB8pFP8dqPtBuK6g6ePdHG2Kf3V+INBC4JufRokTJYBXzxyHsphZESLD99znUonJkLnF5BV+q/x90J/vKVne9b4ZuIzC3a4QKBgF1BcdWrhTYSDao+z4GQULwG4vwIl7SEQfDRelLF7rC6OsL0PR1RjdqkoGD4bXgC919P0TLoEUQnR74wDkXQFYZj+071K/t/DeDpbJgB21RgckhfF0Ep/D5NiI40Xog6MjFjtpS5oHGbn7IipcmKCDeap6vL9DNXfzPQai4VXyaLAoGAOs3LSndysLQ7lieSTliencPTIhsOP5flqzYk8vFdH2LIWLaxlTIsBl8/mh/1OeOQmaSrlRifNJVxvGyBQaW9jNNeSO7wv0XRf1Go+3rTGt19PTj1xkF+P2MQYyyoLklrpeOlGISNS4Lk5Zai3KynH+ul2uryhcTNut4UNuZr23o= diff --git a/序列号生成器/privkey.pem b/序列号生成器/privkey.pem new file mode 100644 index 000000000..118958cc9 --- /dev/null +++ b/序列号生成器/privkey.pem @@ -0,0 +1,9 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIBPAIBAAJBAIfrf/oF/janGFgNeu0Y3YWoVg9SB3msMhfKq6q4G1t9gqdodLYs +oc2vNgUd7689231R+vvLGdKzBizDJZVh3tMCAwEAAQJAZTKvX1108AYrNuwaeUuJ +K8mxAckmba4KwfIRLJPUxvUvrKDkRwmQCNQ6/FF8UFiYexwu19wOPSYsdiq4b6eT +qQIjAJCfBBtskYgfT0qdcPu9NlE++vyTG/QZVlXOCEIr4WcB7BUCHwDwmPrY/nOU +nek6/QawqfkUZh7SO7rc/5KMp6V8EUcCImWpMmTow8CxabakyAheMLGaGSq1aqAD +s5nrlAiX+gHD6yUCHwDPZjAmygF8RTt9/Au+UmdCbF15QL/uLel4kjOW5ZUCImOr +yrfsjcjVr3+nXOqYdR+/Q+6q6sMBRC1Nn2+pbgI5dRY= +-----END RSA PRIVATE KEY----- diff --git a/序列号生成器/pub.pem b/序列号生成器/pub.pem new file mode 100644 index 000000000..0fd2cd6dc --- /dev/null +++ b/序列号生成器/pub.pem @@ -0,0 +1 @@ +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkFFWCornLr6MQta4+t9pV9NinQMIRHKC+OLS3Y3Nh9bkI1wWay6HRwVya12MiYQ7XPO3uAAX/UXrRFCVORA5TWnJyr6O/HPfPj5pqgOaVghS4XO96WsnbbKouGTOfFMIdv+gQw1x8PyD54yODIODW0bA+J7WLhMZzmLQAIlfIRGUafZ78hHDM/PEbZjSogVJNfZ+nKFM1Mtaq8qmhI85jIs1sUhMCwHpLpJa3l7Mq4XiYSj3q25bg5PGxbYkPmLP1PKanSQSRz6r9OoEgCR6z7KmIJoVsah8d/y64sDiusL9TQxGNWTG6SHL6wkgAsoYBlpZWpOoVsO5uz+Hhp1bQQIDAQAB diff --git a/序列号生成器/pubkey.pem b/序列号生成器/pubkey.pem new file mode 100644 index 000000000..fb64b98ef --- /dev/null +++ b/序列号生成器/pubkey.pem @@ -0,0 +1,4 @@ +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCH63/6Bf42pxhYDXrtGN2FqFYPUgd5rDIXyququBtbfYKnaHS2LKHNrzYF +He+vPdt9Ufr7yxnSswYswyWVYd7TAgMBAAE= +-----END RSA PUBLIC KEY----- diff --git a/序列号生成器/序列号.py b/序列号生成器/序列号.py new file mode 100644 index 000000000..44302d056 --- /dev/null +++ b/序列号生成器/序列号.py @@ -0,0 +1,46 @@ +import rsa +import base64 + +# 生成公钥、私钥 +def rsaNewkeys(str1): + + (pubkey, privkey) = rsa.newkeys(512) + print("公钥:\n%s\n私钥:\n:%s" % (pubkey, privkey)) + + with open("privkey.pem", "wb") as f: + f.write(privkey.save_pkcs1()) + with open("pubkey.pem", "wb") as f: + f.write(pubkey.save_pkcs1()) + +# rsa加密 +def rsaEncrypt(str1): + + with open('C://work//project//tianhe_test17//odoo//gzth//序列号生成器//pubkey.pem') as pubkeyfile: + p = pubkeyfile.read() + pubkey = rsa.PublicKey.load_pkcs1(p) + + # 明文编码格式 + content = str1.encode("utf-8") + # 公钥加密 + crypto = rsa.encrypt(content, pubkey) + crypto = base64.b16encode(crypto) + return crypto + + +# rsa解密 +def rsaDecrypt(str1): + with open('C://work//project//tianhe_test17//odoo//gzth//序列号生成器//privkey.pem') as privatefile: + p = privatefile.read() + privkey = rsa.PrivateKey.load_pkcs1(p) + + str1 = base64.b16decode(str1) + # 私钥解密 + content = rsa.decrypt(str1, privkey) + con = content.decode("utf-8") + return con + + +str1 = rsaEncrypt("base#2099-04-18 23:59:59") +print("加密后密文:\n%s" % str1) +# content = rsaDecrypt('16E01254F15E539CF5B734A9A6FB3649640709796F06F5167CB5BFE542210596CE920CBFDB5E22E863983682DC326C421EF896A9D8E2CAC6B9226E89F502FDD7') +# print("解密后明文:\n%s" % content)