Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何加密或标记用户名和日期标记?_Java_.net_Token_Url Parameters - Fatal编程技术网

Java 如何加密或标记用户名和日期标记?

Java 如何加密或标记用户名和日期标记?,java,.net,token,url-parameters,Java,.net,Token,Url Parameters,需要通过url参数将标记化(加密)用户名和日期从webapp a传递给webapp B。类似的内容应作为发送。接收webapp B应该能够将令牌解码为原始参数。 哪种技术提供了可用于.NET和java的简单解决方案?谢谢您的建议非常简单,不需要包含Java和.NET已经提供的技术之外的技术只需建立一个HTTP请求,将其发送到正确的URL,然后侦听响应。 类引用 爪哇: .NET: 如果您认为您将要做更多的工作,或者数据变得更加频繁、复杂或结构化,我强烈建议使用无处不在的协议来实现可扩展性和模

需要通过url参数将标记化(加密)用户名和日期从webapp a传递给webapp B。类似的内容应作为发送。接收webapp B应该能够将令牌解码为原始参数。
哪种技术提供了可用于.NET和java的简单解决方案?谢谢

您的建议非常简单,不需要包含Java和.NET已经提供的技术之外的技术只需建立一个HTTP请求,将其发送到正确的URL,然后侦听响应。

类引用

  • 爪哇:
  • .NET:

如果您认为您将要做更多的工作,或者数据变得更加频繁、复杂或结构化,我强烈建议使用无处不在的协议来实现可扩展性和模块化。

您所建议的非常简单,不需要包括Java和.NET已经提供的技术之外的技术只需建立一个HTTP请求,将其发送到正确的URL,然后侦听响应。

类引用

  • 爪哇:
  • .NET:

如果您认为您将要做更多的工作,或者数据变得更加频繁、复杂或结构化,我强烈推荐普适协议的可扩展性和模块性。

我想分享我在进一步研究后发现的解决方案。 我选择了一种非常简单的基于对称异或的置乱方法,支持跨平台使用加密

一段代码可以说上千字:

// webappA, encode URL parameter
    byte[] userBytes = username.getBytes("UTF-8");
    byte[] keyBytes = key.getBytes("UTF-8");
    //XOR scramble
    byte[] encrypted = new byte[userBytes.length];
    for(int i = 0; i < userBytes.length; i++){
       encrypted[i] = (byte)(userBytes[i] ^ keyBytes[i % keyBytes.length]);
    }

    BASE64Encoder encoder = new BASE64Encoder();
    String encoded = encoder.encode(encrypted);

 // webappB, decode the parameter
    BASE64Decoder decoder = new BASE64Decoder();
    byte[] decoded =  decoder.decodeBuffer( encoded );
    //XOR descramble
    byte[] decrypted = new byte[decoded.length];
    for(int i = 0; i < decoded.length; i++){
       decrypted[i] = (byte)(decoded[i] ^ keyBytes[i % keyBytes.length] );
    }
//webappA,编码URL参数
byte[]userBytes=username.getBytes(“UTF-8”);
byte[]keyBytes=key.getBytes(“UTF-8”);
//异或置乱
byte[]encrypted=新字节[userBytes.length];
for(int i=0;i
我想与大家分享我在进一步研究后发现的解决方案。 我选择了一种非常简单的基于对称异或的置乱方法,支持跨平台使用加密

一段代码可以说上千字:

// webappA, encode URL parameter
    byte[] userBytes = username.getBytes("UTF-8");
    byte[] keyBytes = key.getBytes("UTF-8");
    //XOR scramble
    byte[] encrypted = new byte[userBytes.length];
    for(int i = 0; i < userBytes.length; i++){
       encrypted[i] = (byte)(userBytes[i] ^ keyBytes[i % keyBytes.length]);
    }

    BASE64Encoder encoder = new BASE64Encoder();
    String encoded = encoder.encode(encrypted);

 // webappB, decode the parameter
    BASE64Decoder decoder = new BASE64Decoder();
    byte[] decoded =  decoder.decodeBuffer( encoded );
    //XOR descramble
    byte[] decrypted = new byte[decoded.length];
    for(int i = 0; i < decoded.length; i++){
       decrypted[i] = (byte)(decoded[i] ^ keyBytes[i % keyBytes.length] );
    }
//webappA,编码URL参数
byte[]userBytes=username.getBytes(“UTF-8”);
byte[]keyBytes=key.getBytes(“UTF-8”);
//异或置乱
byte[]encrypted=新字节[userBytes.length];
for(int i=0;i
请将此重新命名为问题。请将此重新命名为问题。连接不是问题所在。我应该使用什么来将用户名和日期参数编码/解码为单个令牌,该令牌将作为url参数发送。连接不是问题所在。我应该使用什么来将用户名和日期参数编码/解码为单个令牌,该令牌将作为url参数发送。