相关疑难解决方法(0)

如何生成随机字母数字字符串?

我一直在寻找一种简单的 Java算法来生成伪随机字母数字字符串.在我的情况下,它将被用作一个唯一的会话/密钥标识符,它"很可能"在500K+生成过程中是唯一的(我的需求实际上并不需要更复杂的东西).

理想情况下,我可以根据我的唯一性需求指定长度.例如,生成的长度为12的字符串可能看起来像"AEYGF7K0DM1X".

java string random alphanumeric

1679
推荐指数
23
解决办法
134万
查看次数

用Java解码Base64数据

我有一个Base64编码的图像.在Java中解码它的最佳方法是什么?希望仅使用Sun Java 6附带的库.

java base64

463
推荐指数
13
解决办法
71万
查看次数

为什么charset名称不是常量?

Charset问题本身令人困惑和复杂,但最重要的是你必须记住你的charsets的确切名称.是"utf8"吗?还是"utf-8"?或许"UTF-8"?在互联网上搜索代码示例时,您将看到以上所有内容.为什么不将它们命名为常量并使用Charset.UTF8

java character-encoding

209
推荐指数
5
解决办法
7万
查看次数

Base64 Java对字符串进行编码和解码

我想将一个字符串编码为base64并通过套接字传输并解码回来.但解码后它给出了不同的答案.以下是我的代码,结果是"77 + 9x6s ="

import javax.xml.bind.DatatypeConverter;

    public class f{

       public static void main(String a[]){

          String str = new String(DatatypeConverter.parseBase64Binary("user:123"));
          String res = DatatypeConverter.printBase64Binary(str.getBytes());
          System.out.println(res);
       }
    }
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一点的任何想法?

谢谢...

java base64 encode decode

149
推荐指数
6
解决办法
58万
查看次数

使用HttpClient在Java中进行Http基本身份验证?

我试图模仿Java中这个curl命令的功能:

curl --basic --user username:password -d "" http://ipaddress/test/login
Run Code Online (Sandbox Code Playgroud)

我使用Commons HttpClient 3.0编写了以下内容但不知何故最终500 Internal Server Error从服务器获取了一个.有人能告诉我,如果我做错了吗?

public class HttpBasicAuth {

    private static final String ENCODING = "UTF-8";

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {

            HttpClient client = new HttpClient();

            client.getState().setCredentials(
                    new AuthScope("ipaddress", 443, "realm"),
                    new UsernamePasswordCredentials("test1", "test1")
                    );

            PostMethod post = new PostMethod(
                    "http://address/test/login");

            post.setDoAuthentication( true );

            try {
                int status = client.executeMethod( post );
                System.out.println(status + "\n" + …
Run Code Online (Sandbox Code Playgroud)

java http apache-commons

147
推荐指数
8
解决办法
40万
查看次数

如何在Java中加密String

我需要的是加密将显示在二维条码中的字符串(PDF-417),这样当有人想要扫描它时就不会有任何可读性.

其他需求:

  • 不应该复杂
  • 它不应包含RSA,PKI基础设施,密钥对等.

它必须足够简单,以摆脱窥探的人,并容易解密其他有兴趣获取数据的公司.他们打电话给我们,我们告诉他们标准或给他们一些简单的密钥,然后可以用于解密.

可能这些公司可以使用不同的技术,因此坚持一些与某些特殊平台或技术无关的标准会更好.

你有什么建议?是否有一些Java类在执行高安全性标准时没有太多的复杂性来执行encrypt()decrypt()?

java encryption

136
推荐指数
9
解决办法
36万
查看次数

import sun.misc.BASE64Encoder导致在Eclipse中编译错误

对于这两个进口;

import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

Access restriction: The type BASE64Decoder is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

java eclipse

63
推荐指数
7
解决办法
20万
查看次数

抑制javac警告"......是内部专有API,可能会在将来的版本中删除"

当我使用JDK 1.7.0在OS X上编译Spring JDBC源代码时,我收到此警告:

warning: CachedRowSetImpl is internal proprietary API and may be removed in a future release
Run Code Online (Sandbox Code Playgroud)

如何在编译期间禁止显示警告消息?

我已经知道并使用Java的@SuppressWarning注释.我正在寻找具体用法来抑制我所描述的警告.

我的问题具体是,在这行代码中:

@SuppressWarnings("valuegoeshere")
Run Code Online (Sandbox Code Playgroud)

应该用"valuegoeshere"替换什么?

编辑:人们,我知道最好避免导致警告的代码.通常这将是我的方法.但是我在这里编译第三方代码,我不想重写.我只想添加正确的注释来抑制警告,以便我可以实际做些什么的警告不会被埋没.

java javac

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

从sun.misc.BASE64迁移到Java 8 java.util.Base64

是Java 8 java.util.Base64MIME编码器和解码器一个下拉更换为不支持的,内部的Java API sun.misc.BASE64Encodersun.misc.BASE64Decoder

到目前为止我的想法和原因

根据我的调查和快速测试(见下面的代码),它应该是替代品,因为

  • sun.misc.BASE64Encoder基于其JavaDoc是RFC1521中规定的BASE64字符编码器.此RFC是MIME规范的一部分......
  • java.util.Base64基于JavaDoc 使用RFC 2045表1中指定的"Base64 Alphabet" 进行编码和解码操作...MIME下

假设RFC 1521和2045没有重大变化(我找不到任何变化)并且基于我使用Java 8 Base64 MIME编码器/解码器的快速测试应该没问题.

我在找什么

  • 确认或反驳"直接替换"点OR的权威来源
  • 一个反例,显示了java.util.Base64具有与sun.misc.BASE64Encoder OpenJDK Java 8实现(8u40-b25)(BASE64Decoder)不同的行为的情况
  • 你认为无论如何回答上述问题肯定

以供参考

我的测试代码

public class Base64EncodingDecodingRoundTripTest {

    public static void main(String[] args) throws IOException {
        String test1 = " ~!@#$%^& *()_+=`| }{[]\\;: \"?><,./ ";
        String test2 = test1 + test1;

        encodeDecode(test1);
        encodeDecode(test2);
    }

    static …
Run Code Online (Sandbox Code Playgroud)

java base64 encoding mime java-8

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

如何在java中将Image转换为base64字符串?

它可能是重复但我面临一些问题,将图像转换Base64为发送它Http Post.我试过这段代码,但它给了我错误的编码字符串.

 public static void main(String[] args) {

           File f =  new File("C:/Users/SETU BASAK/Desktop/a.jpg");
             String encodstring = encodeFileToBase64Binary(f);
             System.out.println(encodstring);
       }

       private static String encodeFileToBase64Binary(File file){
            String encodedfile = null;
            try {
                FileInputStream fileInputStreamReader = new FileInputStream(file);
                byte[] bytes = new byte[(int)file.length()];
                fileInputStreamReader.read(bytes);
                encodedfile = Base64.encodeBase64(bytes).toString();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return encodedfile;
        }
Run Code Online (Sandbox Code Playgroud)

输出: [B @ 677327b6

但我将这个相同的图像转换成 …

java base64 image

20
推荐指数
3
解决办法
8万
查看次数