- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有编码和解码字符串的代码。
当我输入“9”时,加密方法返回“9iCOC73F/683bf5WRJDnKQ==”
问题是,当我对 String 进行编码时,有时它会返回带有 (/or\) 的编码字符串,我想从 String 中删除 (/or\) .
那么我怎样才能用我的加密和解密这两种方法来实现。
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class EncryptDecryptAESAlgo {
private static final String ALGO = "AES";
private static final byte[] keyValue = new byte[] { 'A', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p' };
public String encrypt(String Data) throws Exception {
String encryptedValue = "";
try {
Key key = generateKey();
Cipher c = Cipher.getInstance(ALGO);
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encVal = c.doFinal(Data.getBytes());
encryptedValue = new BASE64Encoder().encode(encVal);
return encryptedValue;
} catch (Exception e) {
}
return encryptedValue;
}
public String decrypt(String encryptedData) throws Exception {
String decryptedValue = "";
try {
Key key = generateKey();
Cipher c = Cipher.getInstance(ALGO);
c.init(Cipher.DECRYPT_MODE, key);
byte[] decordedValue = new BASE64Decoder().decodeBuffer(encryptedData);
byte[] decValue = c.doFinal(decordedValue);
decryptedValue = new String(decValue);
return decryptedValue;
} catch (Exception e) {
}
return decryptedValue;
}
private Key generateKey() throws Exception {
Key key = new SecretKeySpec(keyValue, ALGO);
return key;
}
}
我正在使用 Java。
最佳答案
使用 Base64“URL 安全”编码,如 IETF RFC 4648 Section 5 中所述.这会将 +
和 /
字符分别替换为 -
和 _
。实例化这些编码器/解码器如下:
java.util.Base64.Encoder encoder = java.util.Base64.getUrlEncoder();
java.util.Base64.Decoder decoder = java.util.Base64.getUrlDecoder();
关于Java编码和解码没有正斜杠或反斜杠的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633402/
我有一个右下角倾斜的元素,我必须在其上放置一个盒子阴影。有时倾斜的 Angular 被徽章覆盖 - 我的问题不适用,如果是这样的话: 这是信息框及其边 Angular 的 (s)css 部分(还有更多
是否可以在纯 html/css 中创建类似下面的内容? 我想做这个响应式和全 (100%) 宽度(最大左 Angular 100 像素,右边最小 50 像素,类似的东西)。 最佳答案 您可以通过转换(
如何在 fabricjs 文本中为文本提供渐变或斜 Angular 效果?? http://fabricjs.com/fabric-intro-part-2/ 这里给出了形状和所有示例,我将其与文本绑
我用过: http://apps.eky.hk/css-triangle-generator/ 为彼此对 Angular 放置的两个不等边三 Angular 形生成 css: 左下三 Angular
我是一名优秀的程序员,十分优秀!