A. 一个16进制文件加密了,请问是什么加密方法
首先你得知道是这什么类型的文件,再查看同类型的文件头(如果加密者是在文件头进行加密了的话),修改成相同的文件头就行,如果是在中间加密的,那就没办法解,解铃还须细铃人。
B. word文档保护密码是一串十六进制数,如何把它转换成十进制或者是字母密码
十六进制的换算规则是:
十进制对应的16进制数
0=0
1=1
2=2
...
9=9
10=A
11=B
12=C
13=D
14=E
15=F
16=10
17=12
...
以此类推
C. 加密文件
这位朋友加密文件的方法没有什么问题,这是使用操作系统自身的文件加密服务,可以对NTFS盘上的文件进行加密。这中加密方式依赖文件加密证书,一旦加密可靠性很高,几乎不能被破解。
这位朋友重装系统后不能读出以前加密的文件就是这个原因。
知道原因后,也就找到了解决问题的办法:关键就在于备份这个文件加密证书。备份证书的步骤如下:
1、得到证书指纹数据:当一个文件被加密后,在点击文件→属性→高级→详细信息,可以看到加密证书的指纹信息,这是一串一16进制的数据,记下前面的4~8位数据备用;
2、建立证书管理:如果进行过这一过程则跳过本节直接按照第3节的讲述操作。在命令行运行“mmc”,建立一个新的控制台,依次点击“文件”→“添加/删除管理单元”,在左列中找到“证书”一项,点击“添加”,选择“我的用户帐户”点击“完成”将其添加的右列中,点击“确定”退出添加选项,点击“文件”→“另存为”选择一个你喜欢的文件名和保存位置将这个证书管理控制台保留起来以后随时调用。关闭控制台。
3、查找加密文件证书:找到曾经保存的证书管理控制台文件,双击打开它,加密证书文件通常在“个人”→“证书”路径下面,双击证书,点击详细信息卡片,找到“指纹”(或“缩略图”),找到与加密文件相一致的指纹数据,这个证书就是我们要查找的证书。
4、导出加密文件证书:在找到的证书上点击鼠标右键,点击“所有任务”→“导出”,弹出证书备份向导,点击“下一步”,然后选择“导出私钥”→“下一步”,选择“个人信息交换”,勾选“导出所有扩展属性”,“下一步”,选择一个你喜欢的文件名和保存位置,点击“下一步”,输入保护密码,“下一步”,点击完成。
5、证书导入:有了备份的这个证书和密码,以后就可以用它来解密对应的加密文件。导入方法如下:找到加密文件对应的证书备份,双击证书备份,输入密码后一路点击“下一步”即可完成导入。
需要注意的是,当系统同时具有多个加密证书时,应该都进行备份,避免发生万一其中一个证书丢失而不能打开文件的杯具。
D. Android上,怎么用16进制加密apk的dex文件让别人无法反编译或进内部查看原代码
可以在Dex文件头隐藏另一个DEX数据并在运行时加载附带DEX数据。
构建非规范的Dex文件
通过反射调用DexFile类的方法加载附带DEX数据
通过反射实际调用DexFile的openDexFile方法
该种方式允许通过byte[]解析dex数据,而无须在再把DEX数据存储在设备的某个文件。
可以从安装APK文件、内存或dalvik-cache等读取dex数据。
该种方式将给自动化分析工具带来一个问题,自动化工具会按照dex格式处理DEX文件而不会处理附带的dex数据。需要特定的工具、16进制编辑器或手工提取嵌入的dex数据。
我们可以采用各种不同的方式增加嵌入数据的提取难度,比如:
对嵌入的DEX数据进行加密;
嵌入的DEX数据加密后在对其进行ZIP压缩;
使用native代码解密,直接从内存加载;
......等等
该种隐藏方式可以通过判断Dex文件头长度是否大于0x70检测。
E. 怎么使用16进制编码的RSA公钥进行RSA加密
我们来回顾一下RSA的加密算法。我们从公钥加密算法和签名算法的定义出发,用比较规范的语言来描述这一算法。RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。(PK,SK)\leftarrowKeyGen(\l
F. 如何使用16进制编码的RSA公钥进行RSA加密
我们来回顾一下RSA的加密算法。我们从公钥加密算法和签名算法的定义出发,用比较规范的语言来描述这一算法。RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。(PK,SK)\leftarrowKeyGen(\lambda)。密钥生成算法以安全常数\lambda作为输入,输出一个公钥PK,和一个私钥SK。安全常数用于确定这个加密算法的安全性有多高,一般以加密算法使用的质数p的大小有关。\lambda越大,质数p一般越大,保证体制有更高的安全性。在RSA中,密钥生成算法如下:算法首先随机产生两个不同大质数p和q,计算N=pq。随后,算法计算欧拉函数\varphi(N)=(p-1)(q-1)。接下来,算法随机选择一个小于\varphi(N)的整数e,并计算e关于\varphi(N)的模反元素d。最后,公钥为PK=(N,e),私钥为SK=(N,d)。CT\leftarrowEncrypt(PK,M)。加密算法以公钥PK和待加密的消息M作为输入,输出密文CT。在RSA中,加密算法如下:算法直接输出密文为CT=M^e\mod\varphi(N)M\leftarrowDecrypt(SK,CT)。解密算法以私钥SK和密文CT作为输入,输出消息M。在RSA中,解密算法如下:算法直接输出明文为M=CT^d\mod\varphi(N)。由于e和d在\varphi(N)下互逆,因此我们有:CT^d=M^{ed}=M\mod\varphi(N)所以,从算法描述中我们也可以看出:公钥用于对数据进行加密,私钥用于对数据进行解密。当然了,这个也可以很直观的理解:公钥就是公开的密钥,其公开了大家才能用它来加密数据。私钥是私有的密钥,谁有这个密钥才能够解密密文。否则大家都能看到私钥,就都能解密,那不就乱套了。=================分割线=================我们再来回顾一下RSA签名体制。签名体制同样包含3个算法:KeyGen(密钥生成算法),Sign(签名算法),Verify(验证算法)。(PK,SK)\leftarrowKeyGen(\lambda)。密钥生成算法同样以安全常数\lambda作为输入,输出一个公钥PK和一个私钥SK。在RSA签名中,密钥生成算法与加密算法完全相同。\sigma\leftarrowSign(SK,M)。签名算法以私钥SK和待签名的消息M作为输入,输出签名\sigma。在RSA签名中,签名算法直接输出签名为\sigma=M^d\mod\varphi(N)。注意,签名算法和RSA加密体制中的解密算法非常像。b\leftarrowVerify(PK,\sigma,M)。验证算法以公钥PK,签名\sigma以及消息M作为输入,输出一个比特值b。b=1意味着验证通过。b=0意味着验证不通过。在RSA签名中,验证算法首先计算M'=\sigma^e\mod\varphi(N),随后对比M'与M,如果相等,则输出b=1,否则输出b=0。注意:验证算法和RSA加密体制中的加密算法非常像。所以,在签名算法中,私钥用于对数据进行签名,公钥用于对签名进行验证。这也可以直观地进行理解:对一个文件签名,当然要用私钥,因为我们希望只有自己才能完成签字。验证过程当然希望所有人都能够执行,大家看到签名都能通过验证证明确实是我自己签的。=================分割线=================那么,为什么题主问这么一个问题呢?我们可以看到,RSA的加密/验证,解密/签字过程太像了。同时,RSA体制本身就是对称的:如果我们反过来把e看成私钥,d看成公钥,这个体制也能很好的执行。我想正是由于这个原因,题主在学习RSA体制的时候才会出现这种混乱。那么解决方法是什么呢?建议题主可以学习一下其他的公钥加密体制以及签名体制。其他的体制是没有这种对称性质的。举例来说,公钥加密体制的话可以看一看ElGamal加密,以及更安全的Cramer-Shoup加密。签名体制的话可以进一步看看ElGamal签名,甚至是BLS签名,这些体制可能能够帮助题主更好的弄清加密和签名之间的区别和潜在的联系。至于题主问的加密和签名是怎么结合的。这种体制叫做签密方案(SignCrypt),RSA中,这种签密方案看起来特别特别像,很容易引起混乱。在此我不太想详细介绍RSA中的加密与签字结合的方案。我想提醒题主的是,加密与签字结合时,两套公私钥是不同的。
G. PHP源文件 16进制加密 求解呀
并不是16进制加密,而是你使用了16进制的方式打开了文件。
H. 有人用十六进制的方式加密么exe加壳呢
你也真够牛!是不是刚刚开始搞软件加壳啊? 软件加壳,一般的是外壳程序集成在加壳工具里面的,对于怎么加壳加密,都直接由加壳工具来实现,我个人观点认为:其实要实现对软件的加壳,加密并不需要像你说的那么麻烦.不信你可以看看<<Windows PE 权威指南>>,这里头讲的全部是用汇编程序对软件的加壳.如果你会c语言,那或许有一天你会创意出在c程序内镶入几个汇编指令,然后直接就可以像写应用程序那么简单的写出各式各样你想要的软件外壳....
I. 十六进制加密
你好!
WEP支持 64 位和128 位加密,对于 64 位加密,加密密钥为 10 个十六进制字符(0-9 和 A-F)或 5 个 ASCII 字符;对于 128 位加密,加密密钥为 26 个十六进制字符或 13 个 ASCII 字符
打字不易,如满意,望采纳。