注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沉默蜂B4A安卓编程

国内资料最全的B4A资料库

 
 
 

日志

 
 

[原创][算法加密]Library Base64 and Encryption library (一)  

2014-04-02 10:25:01|  分类: 加密解密 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 (http://www.basic4ppc.com/android/forum/threads/base64-and-encryption-library.6839/ )


[算法加密]ibrary Base64 and Encryption library - 沉默蜂QQ793136625 - 沉默蜂
B4A英文官网搜索[Encryption]关键字出来的内容
 

[算法加密]ibrary Base64 and Encryption library - 沉默蜂QQ793136625 - 沉默蜂
Encryption库或工具介绍



----------------------------------------->> 下面英文注解由网友 [green3000] 翻译 <<-----------------------------------------

 下面的库是,就目前而言,可以进行Base64编码和解码以及对称算法加密和解密的库。测试的对称算法是DES,三重DES和AES(Rijndael算法)。 

作为Java加密rountines是面向所有的字节数组,你需要我的ByteConverter库来运行演示。 

编辑: - 1.1版发布。非对称算法,签名及互助委员会现在已经实现。看帖子#2的细节。

1.1版完成所有的标准Java加密体系结构(JCA)实现的算法的简化风险。提供了非常基本的密钥管理是完全不安全的,只是允许加密密钥字节数组的保存和恢复。 

我还没有尝试执行任何证书处理安全密钥管理,如果你真的知道自己在做什么,但不能推出自己在Java中,那么我会很乐意去尝试看看,如果我能实现你的要求,但我不打算尝试任何通用的解决方案,在前进的真正需要。 

base64编码可参考 《关于base64编码的原理及实现
 


库 Encryption 结构如下:
    类 Base64
        属性 BreakLines、LineLength、UrlSafe、Version
        方法 DecodeBtoB、DecodeBtoS、DecodeStoB、DecodeStoS、EncodeBtoB、EncodeBtoS、EncodeStoB、EncodeStoS
    类 Cipher
        属性 InitialisationVector、Version
        方法 Decrypt、Encrypt、GetAlgorithms、GetServices、Initialize
    类 KeyGenerator
        属性 Format、Key、Version
        方法 GenerateKey、Initialize、KeyFromBytes、KeyToBytes
    类 KeyPairGenerator
        属性 Formats、PrivateKey、PublicKey、Version
        方法 GenerateKey、Initialize、PrivateKeyFromBytes、PrivateKeyToBytes、PublicKeyFromBytes、PublicKeyToBytes
    类 Mac
        属性 Version
        方法 Initialise、Sign、Update、Verify
    类 MessageDigest
        属性 Version
        方法 GetMessageDigest
    类 SecureRandom
        属性 Version
        方法 GetRandomBytes、SetRandomSeed
    类 Signature
        属性 Version
        方法 Initialise、Sign、Update、Verify
        常量 SIGNATURE_SIGN、SIGNATURE_VERIFY




----------------------------------------->> 下面英文注解由网友 [green3000] 翻译 <<-----------------------------------------

库 Encryption > 类 Base64   方法:8   属性:4   常量:0   事件:0 
The Base64 object encodes and decodes to and from Base64 notation.
该对象的Base64编码和解码从到Base64的符号。


库 Encryption > 类 Cipher   方法:5   属性:2   常量:0   事件:0 
This object provides the functionality of a secret (symmetric) key encryptor and 
decryptor. The algorithms may commonly be one of the following, there are others not listed here. 

AES also known as Rijndael is a 128-bit block cipher supporting keys of 128, 192, and 256 bits. 
DES The Digital Encryption Standard as described in FIPS PUB 46-3. 
DESede Triple DES Encryption (also known as DES-EDE, 3DES, or Triple-DES).

这个对象提供了一个秘密(对称)密钥加密的功能和解密。
该算法可普遍是以下中的一个,还有人在这里没有列出。 
AES也称为Rijndael算法,是一个128位块密码支持128键,192,和256位。 
DES的数字加密标准在FIPS PUB46-3描述。 
DESede三重DES加密(也称为DES-EDE,3DES,或三重DES)。


库 Encryption > 类 KeyGenerator   方法:4   属性:3   常量:0   事件:0 
This object provides the functionality of a secret (symmetric) key generator. 
KeyGenerator objects are reusable, i.e., after a key has been generated, the same 
KeyGenerator object can be re-used to generate further keys. 
Algorithm may commonly be one of the following, there are others not listed here. 
AES also known as Rijndael is a 128-bit block cipher supporting keys of 128, 192, and 256 bits. 
DES The Digital Encryption Standard as described in FIPS PUB 46-3. 
DESede Triple DES Encryption (also known as DES-EDE, 3DES, or Triple-DES).

这个对象提供的秘密(对称)密钥生成器的功能。 
KeyGenerator对象是可重复使用的,即,已经生成的密钥后,同样 
KeyGenerator对象可以被重新使用,以产生进一步的密钥。 
算法通常可以是以下中的一个,还有人在这里没有列出。 
AES也称为Rijndael算法是一个128位块密码支持128键,192,和256位。 
DES的数字加密标准在FIPS PUB46-3描述。 
DESede三重DES加密(也称为DES-EDE,3DES,或三重DES)。


库 Encryption > 类 KeyPairGenerator   方法:6   属性:4   常量:0   事件:0 
The KeyPairGenerator is used to generate pairs of public and private keys. 
A key pair generator for a particular algorithm creates a public/private key pair 
that can be used with this algorithm. 
Algorithm is commonly be the following, there may be others not listed here. * 
RSA The RSA encryption algorithm as defined in PRSA Public-Key Cryptography Standards .

该KeyPairGenerator的是用来生成公钥和私钥。 
对于一个特定算法的密钥对生成器创建一个公钥/私钥对 
可用于与本算法。 
算法通常是以下的,有可能是其他人在这里没有列出。
在PRSA公共密钥加密标准定义的RSA RSA加密算法。


库 Encryption > 类 Mac   方法:4   属性:1   常量:0   事件:0 
Similar to a MessageDigest, a Message Authentication Code (MAC) provides a way to check 
the integrity of information transmitted over or stored in an unreliable medium, but includes 
a secret key in the calculation. Only someone with the proper key will be able to verify the 
received message. Typically, message authentication codes are used between two parties that 
share a secret key in order to validate information transmitted between these parties. 
A MAC object is initialized for signing with a secret key and is given the data to be signed. 
The resulting signature bytes are typically kept with the signed data. When verification is needed, 
another MAC object is created and initialized with the same secret key.The data is uploaded and the 
signature obtained is compared with the signature provided with the message. The comparison may 
be made externally by comparing the signature provided with the data to that returned by Sign or 
the MAC object can do the comparison itself by using the Verify method with the provided signature.

 类似于一个消息摘要,消息认证码(MAC)提供了一种方法来检查
信息的完整性上传输或存储在一个不可靠的介质,但包括
密钥在计算中。只有拥有正确的密钥就可以验证
接收到的消息。通常情况下,消息认证码双方使用的
为了验证这些当事人之间传输的信息共享密钥。
一个MAC对象初始化签署了密钥,并给出要签名的数据。
该得到的签名字节通常保持与签名数据。当需要验证,
另一个MAC对象被创建并使用相同的秘密key.The初始化数据上载和
获得签名与提供该消息的签名进行比较。该比较可
可以通过比较所提供的数据,来那或退货由登录签名外部进行
MAC对象可以通过使用验证的方法用所提供的签名做比较本身。 


库 Encryption > 类 MessageDigest   方法:1   属性:1   常量:0   事件:0
Message digests are used to produce unique and reliable identifiers of data. 
They are sometimes called "checksums" or the "digital fingerprints" of the data. 
Changes to just one bit of the message should produce a different digest value. 
Algorithm can be "MD2", "MD5", "SHA-1", "SHA-256", "SHA-384" or "SHA-512".

消息摘要是用于生产数据的唯一和可靠的标识符。 
它们有时被称为“校验”或数据的“数字化指纹”。 
改变只是一个比特的信息会产生不同的摘要值。 
算法可以是“MD2”,“MD5”,“SHA-1”,“SHA-256”,“SHA-384”或“SHA-512”。


库 Encryption > 类 SecureRandom   方法:2   属性:1   常量:0   事件:0 
A seed is an array of bytes used to bootstrap random number generation. 
To produce cryptographically secure random numbers, both the seed and the algorithm 
must be secure. By default, instances of this class will generate an initial seed 
using an internal entropy source. This seed is unpredictable and appropriate for secure use. 
You may alternatively specify the initial seed explicitly by calling setSeed(byte[]) before 
any random numbers have been generated. Specifying a fixed seed will cause the instance to 
return a predictable sequence of numbers. This may be useful for testing but it is not 
appropriate for secure use. 
Although it is common practice to seed Random with the current time, that is dangerous with 
SecureRandom since that value is predictable to an attacker and not appropriate for secure use.

种子是用来引导的随机数生成的字节数组。 
以产生加密的安全随机数,无论是种子和算法 必须是安全的。
默认情况下,这个类的实例将产生一个初始种子 。
使用内部熵源。这个种子是不可预测的,适用于安全使用。 
你可以通过交替调用前调用setSeed(byte []的)显式地指定初始种子 。
已产生的任何随机数。指定一个固定的种子会导致实例 
返回数字的可预测的顺序。这可能是用于测试,但它不是 
适当的安全使用。 
虽然这是通常的做法是随机种子与当前时间,即与危险 
因为该值的SecureRandom是可以预见的攻击者,不适合用于安全用途。


库 Encryption > 类 Signature   方法:4   属性:1   常量:2   事件:0 
Similar to a MessageDigest, a Signature provides a way to check the integrity of information 
transmitted over or stored in an unreliable medium and also ensures that it can be verified 
that it originated from the person it purports to originate from. It accomplishes this by using 
a private key to encode a hash of the original data and the corresponding public key of the key 
pair to decode and check that hash value. 

A Signature object is initialized for signing with a private key and is given the data 
to be signed. The resulting signature bytes are typically kept with the signed data. 
When verification is needed, another Signature object is created and initialized for 
verification and given the corresponding public key. The data and the signature bytes 
are fed to the signature object, and if the data and signature match, the Signature 
object reports success.

类似于一个消息摘要,签名提供了一种方法来检查信息的完整性 
传输的或存储在一个不可靠的介质,也可确保它可以验证 
它源于它声称从起源的人。它通过使用来实现此 
私钥对原始数据的哈希值和密钥对应的公开密钥进行编码 
对解码和检查哈希值。 
Signature对象初始化为签署同一个私钥和给出数据 
签署。该得到的签名字节通常保持与签名数据。 
当需要验证,另一个签名对象被创建并初始化为 
核查并给予相应的公钥。数据和签名字节 
被馈送到签名对象,并且如果该数据和签名匹配,则签名 
反对报告成功。
  评论这张
 
阅读(343)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017