Unique Id for Arduino Uno or Arduino Ethernet Shield

I want to get and use a Device ID in my Sketch and i want it to be unique.

Does an Arduino Uno has a unique ID that i can use and that ID should be different from each Arduino Uno? how can i get that ID and use it?

Secondly, the same for Arduino Ethernet Sheild. I know it has MAC address but i have an old version of it and in the sketch i am using this

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

If there is any other way then this please tell me that also!

Does an Arduino Uno has a unique ID that i can use

No.

I know it has MAC address but i have an old version of it and in the sketch i am using this

The MAC address only needs to not be the same as any other device on your network.

ShahanButt:
Does an Arduino Uno has a unique ID that i can use and that ID should be different from each Arduino Uno? how can i get that ID and use it?

There is no official and documented way to read a unique ID out of the Atmega328.
Except: You store one into it by yourself, i.e. in EEPROM.

ShahanButt:
Secondly, the same for Arduino Ethernet Sheild. I know it has MAC address but i have an old version of it and in the sketch i am using this

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

If there is any other way then this please tell me that also!

Not with the Wiznet W5100 chip. The W5100 has no built-in MAC address.

There are some alternative Ethernet Shields available using W5200 or W5500 Ethernet chips and slightly modified Ethernet Libraries, which already have a unique MAC address built-in.

One possibility to get an official and unique MAC address for your device would be to put a MAC address chip into the circuit and read the data at setup:
http://www.microchip.com/pagehandler/en-us/products/memory/serialEEPROM/MAC.html

@ShahanButt, I do not know why you sent me a PM asking me to read this Thread. You probably know more about this subject than I do.

...R