Solved

8- byte array Intialization Vector

Posted on 2009-05-20
4
784 Views
Last Modified: 2013-11-25
removed by Tiefightermod (which is sensitive and proprietary information. )
I'm working on Triple DES encryption with parameters in JAVA 5: 

 

Key Size :32 bytes 

Key : <key_phrase>

CipherMode : CBC (Cipher Block Chaining) 

Padding Mode : PKCS7 

 

How do I create an 8- byte array initialization vector with the following values in it, { 1, 2, 3, 4, 5, 6, 7, 8} in java. 

 

Equivalent C++ code is 

 

// The Initialization Vector for the DES encryption routine 

private readonly byte[] vector = new byte[16] { 1, 2, 3, 4, 5, 6, 7, 8}; 
 

[- Edited by SouthMod 10/01/09]

Open in new window

0
Comment
Question by:hameeds
  • 3
4 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 24436214
Exactly the same apart from

a. the readonly - closest thing in Java is 'final'
b. numeric integral literals are treated as int, so you'll need to cast if the byte value exceeds Byte.MAX_VALUE (127 [ byte is signed - as are all other numeric types apart from char])
0
 

Author Comment

by:hameeds
ID: 24436325
Please check.. if this is ok..
	byte[] iv = new byte[8];		

		int[] array = {1, 2, 3, 4, 5, 6, 7, 8};

		for (int i = 0; i < 7; i++) {

			int offset = (iv.length - 1 - i) * 8;

			iv[i] = (byte) ((array[i] >>> offset) & 0xFF);			

		}

Open in new window

0
 
LVL 86

Accepted Solution

by:
CEHJ earned 50 total points
ID: 24436526
You've already got it right (in the other Java code you posted elsewhere)
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24442288
Good - progress :-)
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This video demonstrates how to use each tool, their shortcuts, where and when to use them, and how to use the keyboard to improve workflow.
XMind Plus helps organize all details/aspects of any project from large to small in an orderly and concise manner. If you are working on a complex project, use this micro tutorial to show you how to make a basic flow chart. The software is free when…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now