[Rhodes University] Dreamspark activation

Activating your Dreamspark account as a Rhodes University student.

DreamSpark is a Microsoft program to provide students with software design and development tools at no charge. The program was originally available for university/college students in Belarus, Belgium, China, Finland, France, Germany, India, Italy, the Netherlands, Spain, Sweden, Switzerland, Tunisia, the U.K. and the U.S., but has now been expanded to more than 80 countries and is offered to many high school students.To register, students must visit the DreamSpark website and verify their identity. If an institution is not listed on the available list, the user may manually verify their student status by uploading a proof such as an ID card.

Luckily for Rhodes students, we are registered as one of the institution allowed to access DreamSpark materials.

All you need is your Rhodes email address and a Microsoft account.

Below are the steps.

 

Step one:

Open your web browser and point to https://www.dreamspark.com/Student/Default.aspx

You should see a page like this.

Dreamspark student home page

 

Step two:

Click on the create account link.

You should see a page similar to the image below.

ms account page

 

If you have a Microsoft account i.e @outlook @live @hotmail domain names, proceed to sign in. If you don’t have one, use the sign up now link.

After signing in or creating a new account, you should see this page.

dreams

Fill in the required information and choose South Africa as your country or region.

Click the continue to verify link at the bottom of the page.

Step 3

A new page should be displayed. Here, you would need to provide Microsoft with your student Webmail address i.e your Rhodes student email address.

Your Rhodes student email address should be [your-student-number]@campus.ru.ac.za.

verify

 

Enter your email address in the boxes as soon above and click the verify button.

A message similar to the one below should be displayed.

act

 

 

Step four;

Click this link https://webmail.ru.ac.za/horde/login.php.

You should see a page like this.

rhodes

 

Sign in using your Rhodes username and password.

In your inbox, you should have received an email from Microsoft. This email contains a link to activate your account.

Open the email and click the link provided. If you cannot click the link, copy and paste this in a new tab on your browser.

The email should look like this

email

 

Easy. All set.

 

If you have any questions or comments, please use the comments section.

 

Regards.

 

 

Hashing passwords using SHA1 for universal Windows Apps

While working on a universal app for Windows Phone 8.1 and Windows 8.1, I came across a small challenge that needed me to hash a user password before sending to the server. This Looked pretty straight forward – I had the source code from the Windows Phone 8 version of the app (I wrote the app myself by the way).

I used the simple code below to hash a user’s password in the WP8 version.

public static string HashString(string str)

{

var sha1 = new SHA1Managed();

var encoding = new UTF8Encoding();

sha1.ComputeHash(encoding.GetBytes(str.ToCharArray()));

return BitConverter.ToString(s.Hash).Replace(“-“, “”).ToLowerInvariant();

}

This worked well for the Windows Phone 8 version and I had no problems. So, I decided to just copy, paste the code to the Universal app shared project. At the back of my mind I hoped this would work out of the box, I am no security expert.

But, unfortunately…. I had no luck on my side. So I gave Google a go. Turns out there is a new way of doing this. A nice article gave me the code below.

public static string HashString(string str)

{

var bufferString = CryptographicBuffer.ConvertStringToBinary(str, BinaryStringEncoding.Utf8);

 

var hashAlgorithmProvider = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha1);

var bufferHash = hashAlgorithmProvider.HashData(bufferString);

return CryptographicBuffer.EncodeToBase64String(bufferHash);

 

}

So I copied and pasted the code into my project and thought it would work out of the box. Unfortunately, again, no luck on my side. I decided to sit down like a human being and try figure out this problem.

Turns out the only thing I needed to change was the line

return CryptographicBuffer.EncodeToBase64String(bufferHash);

This line of code somehow manages to screw things up, so I changed it to.

return CryptographicBuffer.EncodeToHexString (bufferHash);

 

and behold, everything w fine. I don’t know how, but I hope this could help someone in the future.

Complete code:

public static string HashString(string str)

{

var bufferString = CryptographicBuffer.ConvertStringToBinary(str, BinaryStringEncoding.Utf8);

 

var hashAlgorithmProvider = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha1);

var bufferHash = hashAlgorithmProvider.HashData(bufferString);

return CryptographicBuffer.EncodeToHexString(bufferHash);

}