|
|
Create a unique number. Add your other string as a prefix. As you have provided no other information, this is as much information as we can provide.
|
|
|
|
|
And your downvote also countered...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Please help me how can we solve it.
Question:
We have a message for you. But we hid it.
Unless you know the secret phrase, it will remain hidden.
Can you write the algorithm to find it?
Here is a couple of important hints to help you out:
- An anagram of the phrase is: "poultry outwits ants"
- The MD5 hash of the secret phrase is "4624d200580677270a54ccff86b9610e"
|
|
|
|
|
We do not do your homework: it is set for a reason. It is there so that you think about what you have been told, and try to understand it. It is also there so that your tutor can identify areas where you are weak, and focus more attention on remedial action.
Try it yourself, you may find it is not as difficult as you think!
If you meet a specific problem, then please ask about that and we will do our best to help. But we aren't going to do it all for you!
Your tutor is not looking for what I would do to solve this, he is looking for what you would do; how you analyse a problem; how you think.
So start thinking: how would you work it out manually?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thank you for reply.
i don't need or want to solve my problem.
but just guide me how can i solve this problem because i right but i don't know what will be the out put of decrypt key.
|
|
|
|
|
Well, start by thinking about the problem.
What do you know about MD5?
Hint: it's a hashing algorithm, which means that you can't get from the output to the original input (though MD5 is technically broken, you still can't get from the output to exactly what was entered, just to a valid sequence of values which might have been entered - which doesn't help you at all). So if you can't go from MD5 to your text, what do you have to do?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I wrote code like this:
class MainClassForAlgo
{
public static string EncryptString(string Message, string Passphrase)
{
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
// Step 2. Create a new TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
// Step 3. Setup the encoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
// Step 4. Convert the input string to a byte[]
byte[] DataToEncrypt = UTF8.GetBytes(Message);
// Step 5. Attempt to encrypt the string
try {
ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor();
Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
}
finally
{
// Clear the TripleDes and Hashprovider services of any sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
// Step 6. Return the encrypted string as a base64 encoded string
return Convert.ToBase64String(Results);
}
public static string DecryptString(string Message, string Passphrase)
{
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
// Step 2. Create a new TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
// Step 3. Setup the decoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
// Step 4. Convert the input string to a byte[]
byte[] DataToDecrypt = Convert.FromBase64String(Message);
// Step 5. Attempt to decrypt the string
try
{
ICryptoTransform Decryptor = TDESAlgorithm.CreateDecryptor();
Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length);
}
finally
{
// Clear the TripleDes and Hashprovider services of any sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
// Step 6. Return the decrypted string in UTF8 format
return UTF8.GetString( Results );
}
public static void Main(string[] args)
{
// The message to encrypt.
string Msg = "poultry outwits ants";
string Password = "4624d200580677270a54ccff86b9610e";
string EncryptedString = EncryptString("poultry outwits ants", Password);
string DecryptedString = DecryptString(EncryptedString, Password);
Console.WriteLine("Message: {0}",Msg);
Console.WriteLine("Password: {0}",Password);
Console.WriteLine("Encrypted string: {0}",EncryptedString);
Console.WriteLine("Decrypted string: {0}",DecryptedString);
Console.ReadKey();
}
}
|
|
|
|
|
Where did you copy that from, and more to the point, why?
What part of your homework involves any form of encryption? So if your homework doesn't need it, why would you waste your time including it?
To be honest, that looks like you panicked, guessed, and grabbed the first chunk of code that might do something vaguely useful from the internet.
That is not a viable development strategy.
Don't leap into code until you have worked out what you are going to do - and at the moment you haven't done that. Would you start mixing ingredients at random before you look at a food recipe? No - that would be silly. So why do the equivalent with developing software?
Start again: What do you know about MD5, and what does that imply for your solution?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
UBAID-R-RAHMAN wrote: Can you write the algorithm to find it? Yes.
One simple generates all variants of the same lengths, and calculate EACH hash. If it is unsalted, the original is there. If it is salted, you get some rubbish that generates the same hash.
If you hid it then it cannot be salted, since that would mean the original cannot be found.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
this is the algorithem
class MainClassForAlgo
{
public static string EncryptString(string Message, string Passphrase)
{
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
// Step 2. Create a new TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
// Step 3. Setup the encoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
// Step 4. Convert the input string to a byte[]
byte[] DataToEncrypt = UTF8.GetBytes(Message);
// Step 5. Attempt to encrypt the string
try {
ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor();
Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
}
finally
{
// Clear the TripleDes and Hashprovider services of any sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
// Step 6. Return the encrypted string as a base64 encoded string
return Convert.ToBase64String(Results);
}
public static string DecryptString(string Message, string Passphrase)
{
byte[] Results;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));
// Step 2. Create a new TripleDESCryptoServiceProvider object
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
// Step 3. Setup the decoder
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
// Step 4. Convert the input string to a byte[]
byte[] DataToDecrypt = Convert.FromBase64String(Message);
// Step 5. Attempt to decrypt the string
try
{
ICryptoTransform Decryptor = TDESAlgorithm.CreateDecryptor();
Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length);
}
finally
{
// Clear the TripleDes and Hashprovider services of any sensitive information
TDESAlgorithm.Clear();
HashProvider.Clear();
}
// Step 6. Return the decrypted string in UTF8 format
return UTF8.GetString( Results );
}
public static void Main(string[] args)
{
// The message to encrypt.
string Msg = "poultry outwits ants";
string Password = "4624d200580677270a54ccff86b9610e";
string EncryptedString = EncryptString("poultry outwits ants", Password);
string DecryptedString = DecryptString(EncryptedString, Password);
Console.WriteLine("Message: {0}",Msg);
Console.WriteLine("Password: {0}",Password);
Console.WriteLine("Encrypted string: {0}",EncryptedString);
Console.WriteLine("Decrypted string: {0}",DecryptedString);
Console.ReadKey();
}
}
|
|
|
|
|
Hi all,
I am just wondering if there are any good XAML templates for Windows 10.
Unfortunately VS2015 provides just a blank template... from my point of view this quite minimalistic for a release version of Visual Studio, and Windows Phone and Store apps always had at least some Pivot style apps (even though these have been quite minimalistic either ), etc.
Anyhow, I am looking for some templates that look like Groove Music or the new Maps app.
Are there any good resources out there?
Thanks in advance!
|
|
|
|
|
We do need some templates. Although i am not so sure i would use them anyway. If past experiences with code on MSDN have taught me anything, its that Microsoft's code is usually very messy. And although XAML is great, its also naturally very messy.
Im not so sure I would enjoy fixing up more mess. I think I'd rather spend timethe to learn it myself.
|
|
|
|
|
Hello everyone,
is there anyone who could help me on this? I create a c# application with localdb and i want to have access in this database from different pc in my network, eg i have a secretary with her pc and me with another and i want to use my application from my computer and the changes i have done in database i want to see my partner in her pc. I search for this subject in different forums but nothing. Sorry for my bad english.
|
|
|
|
|
The main change you need to make is to your connections string: make sure you load it from a configuration file of some description (along with your other parameters) and you can use a LOCALDB one from your machine, and a IP based or Server name based address from the other.
Then it's up to you and how you code your app to "notice" changes if you want existing displays on the secretarial machine to update because of changes you make to the DB on yours. there are a lot of different ways to do that, but they all add a layer of complication so think carefully before you go down that route unless you need it.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
First of all thank you for your reply.
I have done this and i cant access to db, if i change the connection string from configuration file then throw exception error 52.
I copy a shortcat from server to client and the result is the application starts but throw an exception with this error 52
|
|
|
|
|
Check that your SQL Server instance is configured to accept remote connections, and that the port it is using is unblocked in your firewall.
If that doesn't fix it, start looking at the entire error message - it may contain further information.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
If i understand correctly you tell me to use SQL Server Configuration Manager and from there enable tcp/ip but if you remember i use localdb in my project so no sql server express installed in these two computers. Should i install sql server express on computers i want use my application to do this?
Thank you for you help and sorry bothering you!!!
|
|
|
|
|
If you mean you ar eusing Access or similar, then that's a poor idea (and don't call that "localdb" in future - that's often used for an SQL Server instance name).
Access is a very poor multiuser database - it can work, but it has always given massive problems because it is intended to be a single user system, and local caching and suchlike can really, really mess your code and data up.
If you need multiple users (or even multiple applications) accessing your data, then you really need to switch to a multiuser system, such as SQL Server or MySql - they "wrap around" an access DB and provide multiuser access seamlessly.
I'd suggest SQL Server - there is a free version called Sql Server Express - and two instances: one on the secretaries machine (or better on a third machine) and a separate one on your development machine, so you can change and text your code without risking damaging the "production" database. Nothing, but nothing is as mortifying as discovering that you forgot the WHERE clause in an UPDATE or DELETE and having to explain you just elephanted someone else's whole day's work...
If you have written your code well, it's a simple change that shouldn't take very long: new connection string in the config file, and change the OdbcConnection, OdbcCommand and suchlike objects to their SqlConnection, SqlCommand, etc. equivalents will be 95% of it.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
i use sql server express localdb. This is the connection string i used:
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\mydb.mdf;Integrated Security=True" providerName="System.Data.SqlClient" (this is from app.config).
What changes must do here? Realy big sorry for bothering you but i need your help!
I try this and did not work: In the "third machine" i open the configuration file and use this connection string -> connectionString="Data Source=192.168.1.44;AttachDbFilename=|DataDirectory|\mydb.mdf;Integrated Security=True" providerName="System.Data.SqlClient"
Where is the problem?
Thank you friend for your time
|
|
|
|
|
Start SSMS, and it begins with a "connect to Server" dialog - look at the "Server name:" box.
In my case, that would be "GRIFFPC\SQLEXPRESS"
That is your server instance name, and that is what you want to use in the other PC.
Now start VS and try setting up a connection in VS with the Server Explorer pane:
1) Open Server Explorer.
2) Right click "Data connections" and select "Add connection"
3) In the dialog that follows, select your DataSource (the name from above) and database, specify the security info, and press the "Test connection" button.
4) When the connection works, press "OK"
5) Highlight your database in the Server Explorer pane, and look at the Properties pane. A working example of the connection string will be shown, which you can copy and paste into your app or config file.
But seriously, it is a bad idea to use the same instance of SQL server for "production" and "development" - it never ends well.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thank you very much for your help. What do you suggest me to do if this is not good idea (i refer to: "But seriously, it is a bad idea to use the same instance of SQL server for "production" and "development" - it never ends well.")?
WHAT would you do in my case?
|
|
|
|
|
Install a second instance of SQL Server express on a different computer: either the secretaries or (better) a server if you have one.
Because your connection string should be in a config file rather than hard-coded into your app, it's easy to have different config files for your PC - one for production, one for development.
And it should be on a computer that is backed up regularly, so that the DB is also backed up. (I'm betting that you never find the time to back up your dev PC, but that's the one at most risk from accidental damage - it's far, far too easy to make mistakes!) Once data gets to the "production" status - and if someone else is using it, that counts - you start risking a lot of embarrassment as well as significant damage to other people's work.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I assumed that you are using the local file .mdf.
But if you are planning to access you data in the network, why not use the database server rather than using a file shortcut.
|
|
|
|
|
Hello Gilbert,
could you tell me what did you mean step by step because i have no experience. I thought that if i use localdb i can't use database server to do what i want thus i use the shortcut instead.
Thank you in advance
|
|
|
|