Port C# of RC4 implementation to Java - #CLOSED#

  • Trạng thái: Closed
  • Giải thưởng: $100
  • Các bài thi đã nhận: 6
  • Người thắng cuộc: SMikhail

Tóm tắt cuộc thi

I've have received a working version, so no more entries please.

I'm going to do further tests then I'll end the contest. Thanks J

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


Port the C# below into Java

The C# code below as described at; [url removed, login to view]
I need a Java version of it so I can encrypt and decrypt text with a given password.

I'll use the form at [url removed, login to view] to test it with a few different text & Password values

I need this ASAP so I'll choose the first working answer submitted.

Thanks


-----------------------------------------------------------------------------
using System;
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];
using [url removed, login to view];

namespace TestRC4
{
public class RC4
{
private const int N = 256;
private int[] sbox;
private string password;
private string text;

public RC4(string password, string text)
{
[url removed, login to view] = password;
[url removed, login to view] = text;
}

public RC4(string password)
{
[url removed, login to view] = password;
}

public string Text
{
get { return text; }
set { text = value; }
}

public string Password
{
get { return password; }
set { password = value; }
}

public string EnDeCrypt()
{
RC4Initialize();

int i = 0, j = 0, k = 0;
StringBuilder cipher = new StringBuilder();
for (int a = 0; a < [url removed, login to view]; a++)
{
i = (i + 1) % N;
j = (j + sbox[i]) % N;
int tempSwap = sbox[i];
sbox[i] = sbox[j];
sbox[j] = tempSwap;

k = sbox[(sbox[i] + sbox[j]) % N];
int cipherBy = ((int)text[a]) ^ k; //xor operation
[url removed, login to view]([url removed, login to view](cipherBy));
}
return [url removed, login to view]();
}

public static string StrToHexStr(string str)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < [url removed, login to view]; i++)
{
int v = [url removed, login to view](str[i]);
[url removed, login to view]([url removed, login to view]("{0:X2}", v));
}
return [url removed, login to view]();
}

public static string HexStrToStr(string hexStr)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < [url removed, login to view]; i += 2)
{
int n = [url removed, login to view]([url removed, login to view](i, 2), 16);
[url removed, login to view]([url removed, login to view](n));
}
return [url removed, login to view]();
}

private void RC4Initialize()
{
sbox = new int[N];
int[] key = new int[N];
int n = [url removed, login to view];
for (int a = 0; a < N; a++)
{
key[a] = (int)password[a % n];
sbox[a] = a;
}

int b = 0;
for (int a = 0; a < N; a++)
{
b = (b + sbox[a] + key[a]) % N;
int tempSwap = sbox[a];
sbox[a] = sbox[b];
sbox[b] = tempSwap;
}
}
}
}

Các kĩ năng được đề xuất

Phản hồi của người thuê

“Worked perfectly.”

Hình ảnh hồ sơ jxa, United Kingdom.

Những bài dự thi tốt nhất dự cuộc thi này

Xem nhiều bài dự thi hơn

Bảng thông tin công khai

  • jxa
    Người tổ chức Cuộc thi
    • cách đây 4 năm

    Thanks for all those that submitted entries but I had to choose the first working entry as I explained I would in the brief.

    • cách đây 4 năm
  • jxa
    Người tổ chức Cuộc thi
    • cách đây 4 năm

    I've have received a working version, so no more entries please.
    I'm going to do further tests then I'll end the contest. Thanks J

    • cách đây 4 năm
  • JSLProgrammer
    JSLProgrammer
    • cách đây 4 năm

    Sorry, I don't think it works quite right...

    • cách đây 4 năm
  • JSLProgrammer
    JSLProgrammer
    • cách đây 4 năm

    I have the Java translation for the C# code you provided. If that is all that you wanted I can send it to you. How do you want me to send it to you?

    • cách đây 4 năm
  • JSLProgrammer
    JSLProgrammer
    • cách đây 4 năm

    Do you want the Java program to send data to the webpage or do you just want the functions converted to Java?

    • cách đây 4 năm

Xem thêm các bình luận

Làm thế nào để bắt đầu với cuộc thi

  • Đăng cuộc thi của bạn

    Đăng Cuộc thi của bạn Nhanh chóng và dễ dàng

  • Nhận được vô số bài dự thi

    Nhận được vô số Bài dự thi Từ khắp nơi trên thế giới

  • Trao giải cho bài dự thi tốt nhất

    Trao giải cho bài dự thi tốt nhất Download File - Đơn giản!

Đăng một cuộc thi ngay bây giờ hoặc tham gia với chúng tôi ngay hôm nay!