能力值:
( LV12,RANK:1000 )
2 楼
很多高手都简单的回答了一下,这里我给个详细的。
#-*- coding:utf-8 -*-
from Crypto.Cipher import AES
def decrypt(enc,C_k):
key=C_k
while len(key)<32: key+='0'
key=unicode(key,'utf-8').encode('utf-8')
enc=enc.decode('hex')
cipher = AES.new(key, AES.MODE_ECB)
txt=cipher.decrypt(enc)
phone=txt[:-ord(txt[-1])]
phone=phone.decode('utf-8')
return phone
def encrypt(phone,C_k):
key=C_k
while len(key)<32: key+='0'
key=unicode(key,'utf-8').encode('utf-8')
p=unicode(phone,'utf-8').encode('utf-8')
padnum=AES.block_size-len(p)
p+=chr(padnum)*padnum
cipher = AES.new(key, AES.MODE_ECB)
enc=cipher.encrypt(p)
return enc.encode('hex')
C_k='sdtyffdftesfyfdw'
enc=encrypt('13249582075', C_k)
print enc
print decrypt(enc, C_k)
'''
输出结果:
9613613dfc2eb43aee0f5df79f3c1d4e
13249582075
'''
能力值:
( LV2,RANK:10 )
3 楼
能力值:
( LV2,RANK:10 )
4 楼
[QUOTE=青岛;1407582]谢谢你的回答 大神 运行后显示
希望 楼上 大神 帮我调试一下 我是用命令提示符运行的 java 环境已经配置 还是需要其他软件运行 还是 我运行有什么问题吗 纯Java小白啊 再次感谢[/QUOTE]
python脚本
能力值:
( LV2,RANK:10 )
5 楼
能力值:
( LV3,RANK:20 )
6 楼
[QUOTE=青岛;1407778]楼上大神 帮我看看运行哪里有问题 还是不能运行 谢谢了
楼上大神 帮我看看运行哪里有问题 还是不能运行 谢谢了[/QUOTE]
明显提示少Crypto.Cipher模块啊
能力值:
( LV7,RANK:100 )
7 楼
jce_policy
能力值:
( LV2,RANK:10 )
8 楼
楼上大神 运行 出错 帮看看 谢谢了
上传的附件:
能力值:
( LV7,RANK:100 )
9 楼
[QUOTE=青岛;1407933]
楼上大神 运行 出错 帮看看 谢谢了[/QUOTE]
电脑上使用要替换jce_policy,JDK_HOME\jre\lib\security,下面是jce_policy下载地址
jdk1.5:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
jdk1.6:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
jdk1.7:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
jdk1.8:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载相对应的jce_policy替换后就可以了
能力值:
( LV7,RANK:100 )
10 楼
[QUOTE=青岛;1407933]
楼上大神 运行 出错 帮看看 谢谢了[/QUOTE]
看运行图上的错误,你应该是下载错了,签名不对
java -version
查看JDK版本后再下载
能力值:
( LV2,RANK:10 )
11 楼
我运行代码 怎么会这样
G:\>java AES
javax.crypto.spec.SecretKeySpec@10188
java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1021)
at javax.crypto.Cipher.implInit(Cipher.java:796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:859)
at javax.crypto.Cipher.init(Cipher.java:1229)
at javax.crypto.Cipher.init(Cipher.java:1166)
at AES.encrypt(AES.java:36)
at AES.encrypt(AES.java:51)
at AES.main(AES.java:112)
Exception in thread "main" java.lang.NullPointerException
at AES.byte2hex(AES.java:86)
at AES.encrypt(AES.java:51)
at AES.main(AES.java:112)
能力值:
( LV2,RANK:10 )
12 楼
大神 我调试成功 我现在把解密的 部分改了下 运行出错 比如 比手机号长的 邮箱 加密 就出错 大神 帮我看看应该怎么修改 就是解密的地方直接添加要解密的内容587676AA1B91FA67085B80C91FF7F904 不是从 加密传递
大神 比如 比手机号长的邮箱加密就出错 帮我看看应该怎么修改 谢谢了
上传的附件:
能力值:
( LV2,RANK:10 )
13 楼
楼主给下加密解密代码啊,