Skip to content

Instantly share code, notes, and snippets.

@taojy123
Last active December 8, 2020 02:57
Show Gist options
  • Save taojy123/b9f2cb19af34c58e7d67f67d83d58097 to your computer and use it in GitHub Desktop.
Save taojy123/b9f2cb19af34c58e7d67f67d83d58097 to your computer and use it in GitHub Desktop.
jpype + sm2
import time
from jpype import *
# startJVM('D:/Program Files/JetBrains/PyCharm 2020.2.1/jbr/bin/server/jvm.dll', '-ea', '-Djava.class.path=sm2.jar')
startJVM('/usr/local/java/jdk1.8.0_181/jre/lib/amd64/server/libjvm.so', '-ea', '-Djava.class.path=sm2.jar')
JDClass = JClass('com.open.demo.SM2')
jd = JDClass()
public_key = '043c2835de80a0cc98afef8c41ef4ce72ac8323b5b0c9dc3825ad407a8ef371399478b73f7849e5a135faf37cacce5475eeb10fe8d2f8576cfe3272de775d581d6'
private_key = '557818426eb451c813bb53b6e6210afd540119cfd9654da5e85269377a0b552a'
data = 'hello world!'
en_data = jd.sm2Encrypt(data, public_key)
print(en_data)
print(type(en_data))
de_data = jd.sm2Decrypt(en_data, private_key)
print(de_data)
assert data == de_data
en_data = 'BLcW6cwufrCkPtou46/oEyIF4s4NS+CLPXczzXipJjG5S0VXEYN2VDR6SK0YrnvodssW0sLuQRYhPYhK+sv/udWOW8zHQUo9Lt5p3TywVnoLcnTPIUHEJOV1xrTh713J3bex5lqUyGbm6qGCPF/VkZkJAxFYbu47diOGxnIk4ukxgdDcR3IVmgnQAcvuClm6q2UkQ4suljU8nO3gEQyQCh44gGjf0zN1MFCiH/5CKYGzqQ6QU0xyo7kSLneDGGLzmnxvp77z/5Sor3kk9s1lLvfC20ipjo25Ec+JBybP+EuX89XprhnSw88K3zb8YjDFshJekBLm3I+RsQ9nvodQvXGm2Hq3MWs58eU+UhgB3RVUOx8w+PFW04U7rDxO4pmZJjoAqunqItkd3JjfhRQeDRk9dicIB92EVGH1gNBT9D3cf9ayNp2MstFo6g=='
de_data = jd.sm2Decrypt(en_data, private_key)
print(de_data)
java.lang.System.out.println('success!')
shutdownJVM()
FROM python:3.7
#RUN apt-get update && apt-get -y install vim && rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
ENV PYTHONPATH /workspace
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
#COPY requirements.txt /workspace/requirements.txt
#RUN pip install -r requirements.txt -i https://pypi.douban.com/simple
#RUN pip install -r requirements.txt
COPY . /workspace
RUN mkdir /usr/local/java
ADD jdk-8u181-linux-x64.tar.gz /usr/local/java/
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_181
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLAS
ENV PATH $JAVA_HOME/bin:$PATH
EXPOSE 8000
CMD ["gunicorn", "wsgi", "-c", "gunicorn.conf"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment