相关疑难解决方法(0)

使用J2ME中的Bouncycastle示例进行AES加密/解密

我想使用带有弹性城堡的AES算法在J2ME中加密和解密数据可以任何人给我示例代码

我想使用ECB和PKCS5Padding

提前致谢.

encryption bouncycastle aes java-me

4
推荐指数
1
解决办法
2万
查看次数

我可以使用Java API将图像文件存储在firebase中吗?

有没有办法使用Java api将图像文件存储在firebase中以用于Android应用程序?

我已经读过这个帖子我可以使用Java API将图像文件存储在firebase中,但仍然没有答案.我知道有一个正式的API,称为firepano这里是链接https://github.com/firebase/firepano但它是为Javascript库.

Java库是否有任何解决方案?

java android java-api firebase

4
推荐指数
1
解决办法
3778
查看次数

为什么sun.misc不鼓励使用?

我一直在使用BASE64EncoderBASE64Decodersun.misc; 我正在使用Eclipse并且必须转向警告,因为默认情况下访问仅限于此.

这些课程完美无缺,但在我的工作中,我已经阅读了很多不应该使用的地方,sun.misc但没有人说出正确的理由.

我应该远离sun.misc,为什么?

java base64 package

3
推荐指数
1
解决办法
801
查看次数

类似Java函数,如javascript中的atob

我有由btoajavascript函数编码的Query参数.当点击url时,在java控制器中调用请求函数,我想解码Query参数(从javascript btoa编码).我曾尝试BASE64DecoderBase64.getDecoder(),但没能获得应有的价值.有没有其他方法可以这样做?

Java控制器

@RequestMapping(value = "decode/{email}", method = RequestMethod.GET)
    public String decodeEmail(Model model, @PathVariable String email){
        Decode decode = new Decode();
        decode.setEmail(email);
        decodeService.save(decode);
        return "decode/List";
    }
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var email = document.getElementById("email").value;
var encodedEmail = btoa(email);
Run Code Online (Sandbox Code Playgroud)

要编码的字符串:demo@demo.com

编码字符串:ZGVtb0BkZW1vLmNvbQ ==

javascript java base64

3
推荐指数
1
解决办法
9308
查看次数

在Java中创建Base64编码的SHA-256哈希

我们需要读取文件内容并将其转换为SHA256,然后将其转换为Base64.

任何指针或示例代码都足够了,因为我是这种加密机制的新手.

提前致谢.

java oracle11g

3
推荐指数
2
解决办法
7528
查看次数

字节数组长度在变换前后变化

我需要通过Internet发送和接收大字节数组(http restful service).

我能想到的最简单的方法是将字节数组转换为字符串.

我搜索了一下,发现这个帖子Java Byte Array to String to Byte Array

我有以下代码来验证转换的准确性.

    System.out.println("message");
    System.out.println (message);

    String message = "Die Strahlengriffelgewächse stammen...";

    byte[] pack = Fbs.packExce(message);    
    System.out.println ("pack");
    System.out.println (pack);
    System.out.println ("packlenght:" + pack.length);

    String toString = new String(pack);
    System.out.println ("toString");
    System.out.println (toString);

    byte[] toBytes = toString.getBytes();
    System.out.println ("toBytes");
    System.out.println (toBytes);
    System.out.println ("toByteslength:" +toBytes.length);
Run Code Online (Sandbox Code Playgroud)

"Fbs.packExce()"是一种获取大块字符串并生成大字节数组的方法.

我改变了消息的长度,检查并打印出字节数组的长度,然后转换为字符串并转换回来.

我得到了以下结果:

...
pack
[B@5680a178
packlenght:748
...
toBytes
[B@5fdef03a
toByteslength:750

----------------------

...
pack
[B@5680a178
packlenght:1016
...
toBytes
[B@5fdef03a
toByteslength:1018
Run Code Online (Sandbox Code Playgroud)

我省略了"消息",因为它太长了.

10次​​中的8次,我可以看到派生的字节数组(新的,称"toBytes")比原始字节数组("pack")长2个字节

我说过10个中的8个,因为在派生和原始之间的长度相同的情况下也会出现,见下文 …

java arrays string bytearray data-conversion

2
推荐指数
1
解决办法
201
查看次数

如何使用 Java 中的秘密 Base64 编码创建 JWT

使用在线 JWT 调试器对 JWT 令牌进行编码和解码我创建了这个简单的令牌

https://jwt.io/#debugger-io?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6IlNvbHIifQ.5T7L_L1MPfQ_5FjKGa1fTPqrzwK​​4bNSM812nW6oyjb8

编码令牌的秘密是
qwertypassword

标题是{ "alg": "HS256"}

有效负载是{ "sub": "admin", "aud": "Solr"}

当您使用非 Base64 编码的密钥进行编码时,它会生成 JWT eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6IlNvbHIifQ.5T7L_L1MPfQ_5FjKGa1fTPqrzwK4bNSM812nW6oyjb8

当秘密是 base64 编码时,它会生成 JWT eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6IlNvbHIifQ.SWCJDd6B_m7xr_puQH-wgbxvXyJYXH9lTpldOU0eQKc

以下是当秘密不是 Base64 编码时生成 JWT 的 Java 代码。

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
public class JWTEncodeTest {
    public static void main(String[] args) {
        try {
            String secretkey="qwertypassword";

            //The JWT signature algorithm we will be using to sign the token
            String jwtToken = Jwts.builder()
                .setSubject("admin")
                .setAudience("Solr")
                .signWith(SignatureAlgorithm.HS256,secretkey.getBytes()).compact();

            System.out.println("jwtToken=");
            System.out.println(jwtToken);
        } catch (Exception e)
        {
            System.out.println(e.getMessage()); …
Run Code Online (Sandbox Code Playgroud)

java base64 jwt

2
推荐指数
1
解决办法
2万
查看次数

用Java加密字符串

我正在尝试使用Java和AES Cipher.getInstance(“ AES / CBC / PKCS5PADDING”)加密和解密字符串。

当我加密数据并尝试将其打印到控制台时,我得到的字符是这样的:

?0 ?? J?9U \?6N ???。??????«D?<(??? H(?G?j ???%??? u ?? ^ ??????'? bT /?05 ??? 0 + u)b ??? {G?d ?? /?:??〜???? J%???〜_ ??? _ ????〜?W? s?+] 9?{Y?N ???? J {??????Ä??

它是否正确?可以说“它是加密的”吗?我的期望是得到像“ WERWERWERWER”这样的文字字符串

java encryption aes

0
推荐指数
1
解决办法
937
查看次数