WEB开发网
开发学院软件开发Java 用 Kerberos 为 J2ME 应用程序上锁,第 2 部分: 生... 阅读

用 Kerberos 为 J2ME 应用程序上锁,第 2 部分: 生成一个 Kerberos 票据请求

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: getLengthBytes()(在清单 2 中显示的)这个方法将一个整数值( length )作为参数,它生成一个该长度的 ASN.1 表示,用 Kerberos 为 J2ME 应用程序上锁,第 2 部分: 生成一个 Kerberos 票据请求(3),并返回一个符合 ASN.1 长度格式的字节

getLengthBytes()

(在清单 2 中显示的)这个方法将一个整数值( length )作为参数。它生成一个该长度的 ASN.1 表示,并返回一个符合 ASN.1 长度格式的字节数组。

清单 2. getLengthBytes() 方法

  public byte[] getLengthBytes(int length) 
  { 
    if (length < 0) 
      return null; 
    byte lengthBytes[]; 
    if (length <= 127) 
    { 
      lengthBytes = new byte[1]; 
      lengthBytes[0] = (byte)(length & 0xff); 
    } 
    else 
    { 
      int tempLength = length; 
      int bytesRequired = 2; 
      do 
      { 
        tempLength = tempLength / 256; 
        if (tempLength > 0) 
          bytesRequired ++; 
      }while (tempLength > 0);   
      lengthBytes = new byte[bytesRequired]; 
      byte firstLengthByte = (byte) (bytesRequired -1); 
  
      firstLengthByte |= 0x80; 
      lengthBytes[0] = firstLengthByte; 
      int j = bytesRequired - 1; 
      for (int i=1; i < bytesRequired; i++) { 
        j--; 
        lengthBytes[i] = (byte)(length >>> (j*8) & 0xff); 
      }//for 
    }//else 
     
    return lengthBytes; 
  }//getLengthBytes 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Kerberos JME 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接