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)