Guid код что это такое: Простыми словами: GUID в системе «Меркурий»

Содержание

GUID Меркурий. Как узнать, где найти GUID ГУИД Меркурий

Что такое GUID код Меркурий

Как в нашей стране для учета организаций используется, специальный учетный номер ИНН, так и в системе ФГИС Меркурий для внутреннего учета внутри  Россельхознадзор разработал специальные учетные номера Гуиды, с помощью которых учитывается каждая организация (Хозяйствующий субъект) и её места осуществления деятельности (Поднадзорные объекты, площадки, предприятия).

GUID (ГУИД) — это глобальный уникальный идентификатор , это набор символов код, состоящий из 32 символов, который идентифицирует либо саму организацию, либо её место осуществления деятельности.

Гуиды бывают нескольких уровней например:

  • GUID организации это 3й уровень
  • GUID места осуществления деятельности (поднадзорного объекта, площадки, предприятия) это 4й уровень

Как узнать и где найти ГУИД (GUID) Меркурий.

Хозяйствующего субъекта (организации).

Чтобы узнать GUID самой организации, нужно будет зайти в систему Россельхознадзора Ветис Цербер по ссылке , он представляет собой единую информационную базу адресов всех организаций и их мест осуществления деятельности. Нажимаем на зеленую кнопку Цербера начать работу и нажимаем на кнопку Личный кабинет.

Далее осуществляем вход в Меркурий Цербер, войти в него можно по логину и паролю, который Вы используете для входа в Меркурий ХС. Если у Вас нет логина и пароля для входа, возможно Вы не зарегистрированы в Меркурий и тогда Вам прежде нужно будет зарегистрироваться, а потом узнавать номер гуид в Меркурий. В общем в полях имя пользователя и пароль вводим логин и пароль и нажимаем войти, возможно войти не получится, это значит, что данному пользователю в системе Ветис Паспорт не были проставлены права на право пользования системой Цербер.

В этом случае узнавайте номер GUID хозяйствующего субъекта у своего местного управления Россельхознадзора.

После того как получилось осуществить вход в личный кабинет Меркурий Цербер, выбираем нужную нам организацию, по которой нужно GUID код Меркурий.

Для того, чтобы узнать гуид код Меркурий организации выбираем раздел Хозяйствующий субъект и ниже в Цербере в разделе служебная информация будет отображаться GUID Меркурий Хозяйствующего субъекта (самой организации), Вы можете его скопировать и дать своим поставщикам, чтобы они Вас находили в Меркурий.

Как и где узнать GUID ГУИД предприятия (места осуществления деятельности, площадки, поднадзорного объекта) в Меркурий

Чтобы узнать GUID предприятия (места осуществления деятельности, площадки, поднадзорного объекта) нужно зайти в раздел Площадки и выбираем нужный адрес места осуществления деятельности.

В открывшемся окне ниже отображаться поле Глобальный идентификатор в системе это и есть GUID ГУИД предприятия Вашего, который нужно отправить поставщикам для обмена в Меркурий ХС, так же иногда просят номер площадки предприятия он указан выше можете так же его скопировать и дать поставщикам своим.

Есть второй вариант как узнать GUID ГУИД предприятия в Меркурий, если в Цербер Вы зайти не можете , узнать гуид предприятия можно через личный кабинет Меркурий ХС. Заходим в личный кабинет в Меркурий ХС по ссылке выбираем нужную организацию.

В открывшемся окне будет видно все места осуществления деятельности организации, чтобы узнать гуид предприятия нажимаем на зеленый значок, в итоге сохранится текстовый файлик, где первое в строке будет это guid гуид предприятия

, скопируйте содержимое этого файла или просто отправьте этот файл своим поставщикам для обмена ВСД в Меркурий ХС.

Если у Вас нет логина и пароля для входа в Меркурий или при входе в Меркурий отображается только название организации, а мест осуществления деятельности нет, то возможно, Вы либо не зарегистрированы в Меркурий, либо регистрация не завершена до конца.

Если не получилось зайти в Цербер и Меркурий ХС и нет регистрации в Меркурий. Поможем зарегистрироваться в Меркурий и получить GUID организации (хозяйствующего субъекта) и ГУИД предприятия (места осуществления деятельности

Предлагаем Вам услугу по регистрации в Меркурий и получению ГУИД организации и мест осуществления деятельности. А так же поможем зарегистрировать Ваши места осуществления деятельности

Зарегистрируем Вашу организацию и места осуществления деятельности в Меркурий, и предоставим Гуиды!


Стоимость регистрации в ФГИС Меркурий
3000 руб
Имеем опыт в регистрации в ФГИС Меркурий!
Экономим Ваше время!
Предоставляем GUID и UUID организации!
Все регионы России!

Звоните +79062376627

Как мы будем регистрировать Вашу организацию и места осуществления деятельности в Меркурий:

  1. Вы отправляете заявку [ЗАПОЛНИТЬ ЗАЯВКУ] на регистрацию ИП, либо Юр лица в Меркурий , чтобы мы зарегистрировали Вас в Меркурии.
  2. C Вами связывается специалист по электронной почте и уточняет информацию о Вашей организации. Мы высылаем Вам счет за регистрацию в Меркурий.
  3. Вы оплачиваете счет. Мы готовим заявление для регистрации в Меркурий и отправляем его администратору системы Меркурий
    , копию заявления отправляем Вам, после ждем ответа от администратора, срок ответа от 5 дней до 14 (в зависимости от занятости).
  4. После получения ответа, мы регистрируем в системе Ветис Паспорт еще 2х сотрудников для Вашей организации, по окончанию регистрации предоставляем Вам GUID и UUID Вашей организации ХС для работы с поставщиками, а так же инструкции как работать в Меркурий ХС.

Посмотрите видео, там все рассказано

Идентификатор GUID конечного результата (поле задачи)

Тип данных    Текст

Тип записи    Вычисляемая

Описание    Для каждого задача, который конечные результаты связанный с ним, в поле GUID конечного результатов отображается глобальный уникальный идентификатор (GUID). Для задач, которые не имеют связанных результатов, в этом поле отображается значение 000000000-0000-0000000000000.

Способ вычисления.    В поле «GUID конечного результатов» отображается глобальный уникальный идентификатор (GUID), автоматически присвоенный связанному результату. Это значение изменить нельзя.

Использование    Добавьте столбец GUID поставки в лист задач, если вам нужно сослаться на уникальный идентификатор для результатов. Это может быть полезно, если у вас есть несколько результатов с одинаковыми именами, так как даже в этом случае каждый из результатов будет иметь уникальный GUID.

Замечания    С любой задачей можно связать только одно из результатов: как результат, выставляемый этой задачей или как результат, который был произведен другой задачей или проектом, от которого зависит эта задача.

Чтобы отчет о результате проекта был виден на листе задач, включим по крайней мере одно из следующих полей:

  • Тип поставки указывает, связана ли текущая задача с поставкой и была ли она произведена текущей задачей или произведена отдельным проектом или задачей, от которой зависит текущая задача.

  • Имя конечного результата отображает имя или название связанного конечного конечного результатов.

  • Начало поставки отображает запланированную дату начала связанного конечного выпуска.

  • Дата окончания поставки отображает запланированную дату окончания связанного конечного конечного действия.

  • GUID конечного результатов отображает уникальный идентификационный код связанного конечного результатов.

Не удается найти страницу | Autodesk Knowledge Network

(* {{l10n_strings.REQUIRED_FIELD}})

{{l10n_strings.CREATE_NEW_COLLECTION}}*

{{l10n_strings.

ADD_COLLECTION_DESCRIPTION}}

{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}  

{{l10n_strings.DRAG_TEXT_HELP}}

{{l10n_strings.LANGUAGE}} {{$select.selected.display}}

{{article. content_lang.display}}

{{l10n_strings.AUTHOR}}  

{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}

{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}

Таблица разделов GUID — это… Что такое Таблица разделов GUID?

GUID Partition Table, аббр. GPT — стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью Расширяемого микропрограммного интерфейса (англ. Extensible Firmware Interface, EFI) — стандарта, предложенного Intel на смену отжившего BIOS, одного из последних реликтов первозданной IBM PC. EFI использует GPT там, где BIOS использует Главную загрузочную запись (англ. Master Boot Record, MBR).

На этом рисунке приведена диаграмма, схематично поясняющая формат GUID Partition Table. Каждый логический блок (LBA) имеет размер ровно 512 байт. Отрицательные адреса логических блоков говорят о том, что их нумерация начинается с конца тома (диска), причем последний адресуемый блок имеет адрес −1.

Возможности

В отличие от MBR, которая начинается с исполняемой двоичной программы, призванной идентифицировать и загрузить активный раздел, GPT опирается на расширенные возможности EFI для осуществления этих процессов. Однако MBR присутствует в самом начале диска (блок LBA 0) как для защиты, так и в целях совместимости. Собственно GPT начинается с Оглавления таблицы разделов (англ. Partition Table Header).

GPT использует современную систему адресации логических блоков (LBA) вместо применявшейся в MBR адресации «Цилиндр — Головка — Сектор» (CHS). Доставшаяся по наследству MBR со всей своей информацией содержится в блоке LBA 0, оглавление GPT — в блоке LBA 1, далее сама таблица разделов. В случае 64-битной версии ОС Microsoft Windows NT, за GPT зарезервировано 32 сектора или 16 384 байта (при использовании сектора размером 512, а не 4 096 байт), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34.

Кроме того, GPT обеспечивает дублирование — оглавление и таблица разделов записаны как в начале, так и в конце диска.

Теоретически, GPT позволяет создавать разделы диска размером до 9,4 ЗБ (9,4 × 1021 байт), в то время как MBR может работать только до 2,2 ТБ (2,2 × 1012 байт).

Наследственный MBR (LBA 0)

Основная цель помещения MBR в начало диска чисто защитная. MBR-ориентированные дисковые утилиты могут не распознать и даже переписать GPT диски. Чтобы избежать этого, указывается наличие всего одного раздела, охватывающего весь GPT диск. Системный идентификатор (англ. System ID) для этого раздела устанавливается в значение 0xEE, указывающее, что применяется GPT. Вследствие этого EFI игнорирует MBR. Некоторые 32-битные операционные системы, не приспособленные для чтения дисков, содержащих GPT, тем не менее распознают этот Системный идентификатор и представляют том в качестве недоступного GPT диска. Более старые ОС обычно представляют диск, как содержащий единственный раздел неизвестного типа и без свободного места; как правило, они отказываются модифицировать такой диск, пока пользователь явно не потребует и не подтвердит удаление данного раздела. Таким способом предотвращается случайное стирание содержимого GPT диска.

Оглавление таблицы разделов (LBA 1)

Оглавление таблицы разделов указывает те логические блоки на диске, которые могут быть задействованы пользователем (англ. the usable blocks). Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Так на машине с установленной 64-битной ОС Microsoft Windows Server 2003, зарезервировано 128 записей данных о разделах, каждая запись длиной 128 байт. Таким образом возможно создание 128 разделов на диске.

Оглавление содержит GUID (англ. Globally Unique IDentifier — Глобально Уникальный Идентификатор) диска. В нём записан свой собственный размер и местоположение (всегда блок LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов, которые всегда размещаются в последних секторах диска. Важно, что он также содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм невозможным становится применение шестнадцатеричных редакторов для модификации содержимого GPT. Всякое редактирование изменит контрольные суммы, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным.

Записи данных о разделах (LBA 2-33)

Записи данных о разделах (англ. Partition entries) просты и расположены с равным приращением адресов. Первые 16 байт определяют GUID типа раздела. Например, GUID системного EFI-раздела имеет вид «C12A7328-F81F-11D2-BA4B-00A0C93EC93B». Следующие 16 байт содержат GUID, уникальный для данного конкретного раздела. Далее записываются данные о начале и конце 64-битных LBA, если они имеются. Остальное место отводится информации об именах и атрибутах разделов.

Идентификаторы (GUIDs) различных типов разделов

Ассоц. платф. Тип раздела Глобально уникальный идентификатор (GUID)
(Нет) Неиспользуемая запись данных 00000000-0000-0000-0000-000000000000
Схема разделов MBR 024DEE41-33E7-11D3-9D69-0008C781F39F
Системный раздел EFI C12A7328-F81F-11D2-BA4B-00A0C93EC93B
Windows Резервный раздел Microsoft E3C9E316-0B5C-4DB8-817D-F92DF00215AE
Раздел основных данных EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Менеджер логических томов, раздел мета-данных 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
Менеджер логических томов, раздел данных AF9B60A0-1431-4F62-BC68-3311714A69AD
HP-UX Раздел данных 75894C1E-3AEB-11D3-B7C1-7B03A0000000
Раздел Сервиса E2A1E728-32E3-11D6-A682-7B03A0000000
Linux Раздел данных EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
RAID раздел A19D880F-05FC-4D3B-A006-743F0F84911E
Своп-раздел 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
Раздел Менеджера логических томов (LVM) E6D6D379-F507-44C2-A23C-238F2A3DF928
Зарезервировано 8DA63339-0007-60C0-C436-083AC8230908
FreeBSD Загрузочный раздел 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
Раздел данных 516E7CB4-6ECF-11D6-8FF8-00022D09712B
Своп-раздел 516E7CB5-6ECF-11D6-8FF8-00022D09712B
Раздел UFS (Unix File System) 516E7CB6-6ECF-11D6-8FF8-00022D09712B
Раздел менеджера томов Vinum 516E7CB8-6ECF-11D6-8FF8-00022D09712B
Раздел ZFS 516E7CBA-6ECF-11D6-8FF8-00022D09712B
Mac OS X Раздел HFS+ (Hierarchical File System) 48465300-0000-11AA-AA11-00306543ECAC
Apple UFS 55465300-0000-11AA-AA11-00306543ECAC
ZFS 6A898CC3-1DD2-11B2-99A6-080020736631
Apple RAID раздел 52414944-0000-11AA-AA11-00306543ECAC
Apple RAID раздел, offline 52414944-5F4F-11AA-AA11-00306543ECAC
Загрузочный раздел Apple 426F6F74-0000-11AA-AA11-00306543ECAC
Apple Label 4C616265-6C00-11AA-AA11-00306543ECAC
Apple TV Recovery partition 5265636F-7665-11AA-AA11-00306543ECAC
Solaris Загрузочный раздел 6A82CB45-1DD2-11B2-99A6-080020736631
Корневой раздел 6A85CF4D-1DD2-11B2-99A6-080020736631
Своп раздел 6A87C46F-1DD2-11B2-99A6-080020736631
Backup-раздел 6A8B642B-1DD2-11B2-99A6-080020736631
Раздел /usr 6A898CC3-1DD2-11B2-99A6-080020736631
Раздел /var 6A8EF2E9-1DD2-11B2-99A6-080020736631
Раздел /home 6A90BA39-1DD2-11B2-99A6-080020736631
EFI_ALTSCTR 6A9283A5-1DD2-11B2-99A6-080020736631
Зарезервированные разделы 6A945A3B-1DD2-11B2-99A6-080020736631
6A9630D1-1DD2-11B2-99A6-080020736631
6A980767-1DD2-11B2-99A6-080020736631
6A96237F-1DD2-11B2-99A6-080020736631
6A8D2AC7-1DD2-11B2-99A6-080020736631

Примечание 1: GUID для Linux является дубликатом GUID для Microsoft Windows .

Примечание 2: Порядок записи байтов в написаниях GUID является little-endian. К примеру, GUID системного раздела EFI записан как: C12A7328-F81F-11D2-BA4B-00A0C93EC93B, что соответствует последовательности 16 байтов: 28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B. Обратите внимание, что байты пишутся задом наперед только в первых трех блоках (C12A7328-F81F-11D2).

Ссылки

2.24. Работа с GUID полями

Мы уже не раз говорили о том, что для первичного ключа лучше всего использовать тип uniqueidentifier, который лучше с точки зрения обеспечения уникальности строк. Но с другой стороны этот тип хуже для индекса, потому что вновь добавляемые записи могут содержать GUID идентификатор меньший, чем уже существующие в таблице.

При работе с GUID полями мы получаем достаточно преимуществ и недостатков. В этой главе мы рассмотрим и то и другое, а также примеры обхода недостатков.

Давайте для иллюстрации примеров с GUID полями создадим две связанные таблицы: типы телефонов и номера телефонов. Подобные таблицы у нас уже существуют в тестовой базе данных, поэтому я взял их копию, заменил тип ключевых полей на uniqueidentifier и добавил к именам таблиц и ограничений префикс _G. Все это в виде SQL сценария можно увидеть в листинге 2.14.

Листинг 2.14. Создание таблиц, связанных через uniqueidentifier поля


-- Создаем таблицу типов телефонов
CREATE TABLE tbPhoneType_G
(
 idPhoneType uniqueidentifier DEFAULT NEWID(), 
 vcTypeName varchar(20),

 CONSTRAINT PK_idPhoneType_G PRIMARY KEY (idPhoneType),
)

-- Создаем таблицу телефонов
CREATE TABLE tbPhoneNumbers_G
(
  -- Описание полей
  idPhoneNumbers uniqueidentifier DEFAULT NEWID(), 
  idPhoneType uniqueidentifier, 
  vcPhoneNumber varchar(15),

  -- Описание ключей
  CONSTRAINT PK_idPhoneNumbers_G PRIMARY KEY (idPhoneNumbers),
  CONSTRAINT FK_idPhoneType_G FOREIGN KEY (idPhoneType)
     REFERENCES tbPhoneType_G (idPhoneType), 

  -- Описание ограничений
  CONSTRAINT check_vcPhonenumber_G CHECK (vcPhonenumber LIKE 
    '([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]')
)

Обратите внимание, что для первичного ключа в качестве значения по умолчанию указана функция NewID(), которая генерирует уникальный идентификатор. Если пользователь будет добавлять запись и не укажет явное значение, то оно будет сгенерировано.

Следующие два примера добавляют в таблицу типы телефонов сотовый и домашний:


-- Добавления типа телефона - сотовый
INSERT INTO tbPhoneType_G
VALUES (NewID(), 'Сотовый')

-- Добавляем домашний тип телефона
INSERT INTO tbPhoneType_G (vcTypeName)
VALUES ('Домашний')
Теперь посмотрим, что у нас хранится в таблице:
SELECT * 
FROM tbPhoneType_G
В моем случае результат получился следующим:
idPhoneType                            vcTypeName
-------------------------------------------------------
2A730DD9-3F89-48FD-A7C6-7FACDE496D2E   Домашний	
BA80361E-1398-4C58-9DF9-EC25C18A2439   Сотовый	

Мне повезло. Я наглядно смог увидеть, что домашний тип телефона добавлялся позже, а при отображении он стоит первым, потому что для него сгенерирован меньший идентификатор. Это и есть недостаток, который невозможно контролировать. Единственный удачный выход – добавить в таблицу типов еще одно поле, которое будет иметь автоматически увеличиваемое значение.

Давайте очистим таблицу (DELETE FROM tbPhoneType_G) и добавим новое поле


ALTER TABLE tbPhoneType_G
ADD [id] int IDENTITY(1, 1)

Снова добавьте в таблицу записи типов телефонов. Чтобы просмотреть все строки в порядке добавления в таблицу, необходимо отсортировать вывод по полю «id»:


SELECT * 
FROM tbPhoneType_G
ORDER BY [id]

От одного недостатка избавились. Давайте двигаться дальше. Теперь посмотрим, как можно добавлять записи в таблицу телефонов. В таблице телефонов нам нужно указать идентификатор типа и номер телефона. Проблема возникает именно с первым значением, потому что вводить идентификаторы вручную проблематично. Эта проблема решается следующим образом:


-- Объявляем переменную
DECLARE @TypeID uniqueidentifier

-- Записываем в нее идентификатор домашнего телефона
SELECT @TypeID=idPhoneType 
FROM tbPhoneType_G 
WHERE vcTypeName='Домашний'

-- Добавляем запись с номером телефона
INSERT INTO tbPhoneNumbers_G (idPhoneType, vcPhoneNumber)
VALUES (@TypeID, '(000) 912-12-12')

В этом примере сначала объявляется переменная @TypeID типа uniqueidentifier. Затем в эту переменную с помощью запроса SELECT записывается идентификатор домашнего типа телефона. Теперь у нас есть все необходимо для добавления записи, что происходит в последнем запросе.

Посмотрим, как можно увидеть записи в связанных таблицах. Тут особой разницы от других типов ключевых полей нет:


SELECT * 
FROM tbPhoneType_G pt, tbPhoneNumbers_G pn
WHERE pt.idPhoneType=pn.idPhoneType

Допустим, что вы четко знаете, что GUID идентификатор типа телефона равен 09F972F4-CFF9-4E96-9B7C-14AA04B835F3. Как его можно использовать напрямую? Чтобы SQL запрос воспринял это число как GUID, его необходимо заключить в фигурные скобки и передать в виде строки.

Следующий пример объявляет переменную @TypeID типа uniqueidentifier и с помощью SET помещает в эту переменную явное значение, которое потом будет использоваться при добавлении записи с номером телефона:


-- Объявляем переменню
DECLARE @TypeID uniqueidentifier

-- Записываем в переменную значение
SET @TypeID='{09F972F4-CFF9-4E96-9B7C-14AA04B835F3}'

-- Вставляем запись
INSERT INTO tbPhoneNumbers_G (idPhoneType, vcPhoneNumber)
VALUES (@TypeID, '(000) 112-10-10')

Обратите внимание, что значение GUID сначала заключается в фигурные скобки и после этого еще и в одинарные кавычки. Если что-то из этого не указать, сервер вернет ошибку.

Зная идентификатор, можно добавить строку одной командой INSERT INTO. Например:


INSERT INTO tbPhoneNumbers_G (idPhoneType, vcPhoneNumber)
VALUES ('{09F972F4-CFF9-4E96-9B7C-14AA04B835F3}', '(000) 222-10-10')

Благодаря использованию GUID идентификаторов, упрощается добавление записей сразу в две таблицы. Например, в следующем запросе в таблицу типов добавляется новая строка «Сотовый личный» и тут же мы добавляем номер телефона с соответствующим типом:


-- Объявляем переменную
DECLARE @TypeID uniqueidentifier

-- Генерируем GUID значение 
SET @TypeID=NewID()

-- Вставляем запись в таблицу типов
INSERT INTO tbPhoneType_G
VALUES (@TypeID, 'Сотовый личный')

-- Вставляем запись в таблицу телефонов
INSERT INTO tbPhoneNumbers_G (idPhoneType, vcPhoneNumber)
VALUES (@TypeID, '(901) 111-11-11')

В этом примере, в переменную @TypeID заносится результат выполнения функции NewID(), т.е. сгенерированное значение. После этого, с этим идентификатором добавляются строки в таблицы типов телефонов и в таблицу номеров телефонов.

У нас достаточно знаний, чтобы усложнить пример и сделать проверку, существует ли в таблице нужный телефон и добавлять запись только в том случае, если не существует. Если нужный тип уже есть в таблице, то нужно использовать его GUID. Все это реализовано в листинге 2.15.

Листинг 2.15. Добавление типа только если это нужно


Объявляем переменную
DECLARE @TypeID uniqueidentifier

-- Проверяем, есть ли нужная запись в таблице
IF NOT EXISTS (SELECT idPhoneType
               FROM tbPhoneType_G 
               WHERE vcTypeName='Сотовый личный')
 BEGIN
  -- Если не существует, то генерируем GUID и добавляем и добавляем
  SET @TypeID=NewID()
  INSERT INTO tbPhoneType_G
  VALUES (@TypeID, 'Сотовый личный')
  print 'Создаем тип "Сотовый личный"';
 END
ELSE
 BEGIN
  -- Если существует, то ищем GUID в таблице
  print 'Такой тип уже существует, используем его';

  SELECT @TypeID=idPhoneType
  FROM tbPhoneType_G 
  WHERE  vcTypeName='Сотовый личный'
 END

-- Вставляем строку
INSERT INTO tbPhoneNumbers_G (idPhoneType, vcPhoneNumber)
VALUES (@TypeID, '(901) 111-11-11')

Я надеюсь, что вы разберетесь с кодом примера, но на всякий случай я добавил комментарии, которые помогут в трудную минуту.

Как видите, проблемы при использовании GUID есть, но они решаемы. А ведь преимущества от использования GUID затмевают все недостатки. Главное преимущество – возможность самостоятельного задания первичного ключа, без риска нарушения целостности. Это преимущество особенно проявляется при разработке клиентского приложения на языках высокого уровня, например, Delphi или C++. На этих языках пользователь может вводить данные на стороне клиента и сохранять их в памяти. Когда данные накопятся, их можно одним блоком сохранить на сервере.

Пока данные находятся в памяти клиентской машине, первичный ключ с автоматически увеличиваемым полем не может содержать значения, а значит нельзя создавать связей. Если первичный ключ имеет тип GUID, то программа может сама создать значение для ключа и использовать его для создания связей в памяти клиентской машине с данными, которые еще даже не существуют на сервере. Сейчас уже почти во всех языках есть собственные возможности генерирования GUID значений, результат которых абсолютно одинаков.

GUID Partition Table (GPT) | xnix

Таблица разделов GUID (GPT) это стандартная схема разметки физического устройства хранения данных для компьютера, такого как жесткий диск (HDD) или диск на основе FLASH-памяти (solid-state drive, SSD). В этой схеме используются универсальные, уникальные идентификаторы, также известные как globally unique identifier (GUID). Несмотря на то, что GPT является частью нового стандарта для firmware материнских плат Unified Extensible Firmware Interface (UEFI), который призван заменить старый PC BIOS, GPT все равно используется в некоторых системах со старой BIOS, потому что существуют ограничения старой системы таблицы разделов master boot record (MBR), которая основана на 32-битной логической адресации (logical block addressing, LBA) традиционных секторов диска по 512 байт (перевод статьи Википедии [1]).

Все современные операционные системы персонального компьютера поддерживают GPT. Некоторые, включая macOS и Microsoft Windows на архитектуре x86, поддерживают загрузку с разделов GPT только когда в системе присутствует EFI, однако FreeBSD и большинство дистрибутивов Linux могут загружаться из разделов GPT на системах как с традиционными, старыми BIOS, так и с EFI.

Система формирования разделов диска на основе Master Boot Record (MBR), широко используемая в начале 1980-х годов начиная с MS-DOS, накладывает ограничения на размер диска при использовании современного оборудования. Главная проблема — ограниченное максимальное количество секторов диска при кодировании их номеров 32-битным адресом блока. Для жестких дисков, у которых сектора по 512 байт, таблица MBR позволяет отформатировать диск размером не более 2 терабайта TiB (232 x 512 байт).

В конце 1990-х, компания Intel разработала новый формат таблицы разделов GPT как часть того, что в конечном счете стало стандартом Unified Extensible Firmware Interface (UEFI). В 2010 году GPT сформировала подмножество спецификации UEFI. GPT использует 64 бита для логического адреса блока, что позволяет иметь на диске 264 секторов. Для дисков с секторами по 512 байт, максимальный 9.4 зетабайт ZB (9.4 x 1024 байт), или 8 ZiB (264 секторов, каждый по 29 байт).

Также, как и современные MBR, GPT использует логическую адресацию блоков (LBA) вместо ранней, ушедшей в прошлое системы адресации на основе номеров цилиндров, головки и сектора (cylinder-head-sector, CHS). Protective MBR сохраняется в LBA 0, заголовок GPT в LBA 1, и в заголовке GPT есть указатель на таблицу разделов (Partition Entry Array), обычно находящуюся начиная с LBA 2. Каждая запись в Partition Entry Array имеет размер 128 байт. Спецификация UEFI предусматривает выделение под Partition Entry Array как минимум 16384 байт, независимо от размера сектора. Таким образом, если на диске сектора имеют размер 512 байт, сектор 34 будет первым сектором, который можно использовать непосредственно под раздел диска.

Производители жестких дисков начали производить свои новые изделия с секторами по 4096 байт. Первые такие диски продолжали представляться для операционной системы как диски с 512-байтными физическими секторами. Могло произойти ухудшение производительности, когда физические границы 4-KiB сектора диска не совпадают с логическими блоками 4 KiB, страницами кластеров и страницами виртуальной памяти, что повсеместно используется в операционных и файловых системах. Это в частности создавало проблему на операциях записи, когда привод был вынужден выполнять две операции read-modify-write (чтение, модификация, запись), чтобы обработать одну не выровненную операцию записи 4 KiB.

[Варианты MBR, используемые с GPT]

Protective MBR (LBA 0). Для ограниченной обратной совместимости пространство традиционной MBR все еще резервировалось спецификацией GPT, однако это теперь используется способом, который предотвращает неправильное определение диска старыми утилитами, рассчитанными на традиционную MBR, и уменьшает вероятность ошибочной перезаписи дисков GPT. Это называется как protective MBR.

Тип одного раздела EEh [2], обозначающий весь диск GPT (здесь «весь» на самом деле подразумевает то, как этот диск может быть представлен в MBR) показывает раздел GPT. Операционные системы и утилиты, которые не могут читать диски GPT, обычно распознают диск как содержащий один раздел неизвестного типа и без свободного места, и в результате отказываются модифицировать диск, если пользователь явно не разрешит и не подтвердит удаление этого раздела. Такой подход минимизирует случайные уничтожения данных. Кроме того, осведомленные о GPT операционные системы могут проверить protective MBR, и если вложенный тип раздела не EEh, или если существует несколько разделов на целевом диске, то операционная система может отказаться от манипулирования таблицей разделов.

Хотя MBR и protective MBR были определены в расчете 512 байт на сектор, на различных носителях реальный размер сектора может быть больше (на магнитооптических дисках и жестких дисках с Advanced Format [3]).

Если реальный размер диска превышает максимальный размер раздела, представленный традиционными 32-битными записями LBA в MBR, то зарегистрированный размер этого раздела обрезается на максимуме, игнорируя таким образом остальную часть диска. Это в результате дает максимальный размер диска 2 TiB в предположении, что в каждом секторе 512 байт (см. [3]). Это могло бы предоставить 16 TiB при размере сектора 4 KiB, но поскольку многие устаревшие операционные системы и инструменты жестко заточены на размер сектора 512 байт, или ограничены 32-разрядными вычислениями, превышение предела 2 TiB могло вызывать проблемы совместимости.

Hybrid MBR (LBA 0 + GPT). В операционных системах, которые поддерживают загрузку на основе GPT через службы BIOS, отличающиеся от EFI, первый сектор все еще используется для сохранения кода загрузчика (bootloader) первой стадии, однако модифицированный для распознавания разделов GPT. Загрузчик в MBR не должен подразумевать размер сектора 512 байт.

Заголовок таблицы разделов (LBA 1). В таблице ниже приведен формат заголовка GPT.

Таблица 1. Формат заголовка GPT.

Смещение Длина (байт) Содержимое
0 (0x00) 8 Сигнатура («EFI PART», 0x45 0x46 0x49 0x20 0x50 0x41 0x52 0x54 или 0x5452415020494645ULL(1) на машинах little-endian).
8 (0x08) 4 Ревизия. Для GPT версии 1.0, по крайней мере при UEFI версии 2.7 (май 2017), значение будет 0x00 0x00 0x01 0x00.
12 (0x0C) 4 Размер заголовка в байтах, порядок байт little-endian (обычно десятичное 92, или 0x5C).
16 (0x10) 4 CRC32/zlib заголовка (смещение +0 до размера заголовка), порядок байт little-endian. При вычислении CRC это поле обнуляется.
20 (0x14) 4 Зарезервировано, здесь должны быть нули.
24 (0x18) 8 Текущий LBA (место копии этого заголовка).
32 (0x20) 8 Backup LBA (место еще одной копии заголовка).
40 (0x28) 8 LBA первого блока, который можно использовать для разделов (последний LBA primary таблицы разделов + 1).
48 (0x30) 8 LBA последнего блока, который можно использовать (первый LBA secondary таблицы разделов — 1).
56 (0x38) 16 GUID диска в mixed endian (в операционных системах UNIX также называется как UUID).
72 (0x48) 8 Начальный LBA массива элементов раздела (всегда 2 в primary копии).
80 (0x50) 4 Количество элементов раздела в массиве.
84 (0x54) 4 Размер одного элемента раздела (обычно 128, или 0x80)/
88 (0x58) 4 CRC32/zlib массива элементов раздела, порядок байт little-endian.
92 (0x5C) * Зарезервировано; должны быть нули до конца блока (420 байт для сектора размером 512 байт, но может быть больше, если сектор большего размера).

Примечание (1): Добавление суффикса ULL обозначает тип константы как unsigned long long int.

Заголовок таблицы разделов определяет блоки диска, которые можно использовать. Он также определяет количество и размер элементов раздела, которые составляют таблицу разделов.

Элементы раздела (LBA 2 — 23). После заголовка идет Partition Entry Array, где описываются разделы, и здесь каждая запись занимает минимум 128 байт. Начальное расположение массива на диске и размер каждой записи даются в заголовке GPT. Первые 16 байт каждой записи обозначают глобальный уникальный идентификатор (GUID) типа раздела. Например, GUID для системного раздела EFI будет C12A7328-F81F-11D2-BA4B-00A0C93EC93B (см. таблицу 9 ниже). Следующие 16 байт это GUID, уникальный для раздела. Затем идут начальный и конечный 64-битные адреса LBA, атрибуты раздела и затем символьное имя раздела (36 символов максимум) в кодировке Unicode. Сущность и цель идентификаторов GUID, как это определено в RFC4122[9] — систему уникальной идентификации типов раздела без необходимости центрального реестра.

Таблица 2. Формат элемента раздела GPT.

Смещение Длина (байт) Содержимое
0 (0x00) 16 GUID типа раздела (mixed endian).
16 (0x10) 16 Уникальный GUID раздела (mixed endian).
32 (0x20) 8 Первый LBA (little endian).
40 (0x28) 8 Последний LBA (little endian, включительно, обычно нечетное значение).
48 (0x30) 8 Флаги атрибутов (например, бит 60 обозначает read-only).
56 (0x38) 72 Символы имени раздела (36 символов в кодировке UTF-16LE).

64-разрядные атрибуты таблицы разделов совместно используются 48-разрядными общими атрибутами для всех типов разделов и 16-битными атрибутами, зависящими от типа раздела:

Таблица 3. Атрибуты раздела.

Бит Содержимое
0 Требуется для платформы (нужен, чтобы правильно работал компьютер, например для раздела OEM утилиты формирования разделов диска должны сохранить раздел как есть).
1 EFI firmware должно игнорировать содержимое этого раздела и не пытаться считывать с него данные.
2 Загружаемый под управлением старого BIOS — эквивалент флагу active (обычно установленному биту 7) при смещении +0 в элементах таблицы разделов MBR).
3 — 47 Зарезервировано для использования в будущем.
48 — 63 Определяется и используется в зависимости от определенного типа раздела.

Microsoft определяет атрибуты, зависящие от типа, для базовых разделов данных следующим образом:

Таблица 4. Атрибуты раздела базового типа.

Бит Содержимое
60 Read-only (раздел только для чтения).
61 Теневая копия (другого раздела).
62 Скрытый раздел.
63 Нет буквы диска (например, не выполнять автоматическое монтирование).

Google определяет атрибуты, зависящие от типа, для ядра Chrome OS следующим образом:

Таблица 5. Атрибуты раздела Chrome OS kernel.

Бит Содержимое
48 — 51 Приоритет (15: самый высокий, 1: самый низкий, 0: не загружаемый).
52 — 55 Оставшиеся попытки.
56 Флаг успешной загрузки.

[GPT в операционных системах]

Ниже в таблицах показана поддержка GPT различными операционными системами.

Таблица 6. Поддержка GPT на UNIX и других операционных системах стиля and Unix.

OS Версия или редакция Платформа R/W Boot Примечание
FreeBSD Начиная с 7.0 IA-32, x86-64, ARM Да Да В конфигурации hybrid могут использоваться идентификаторы как GPT, так и MBR раздела.
Linux Большинство x86 дистрибутивов Fedora 8+ и Ubuntu 8.04+ IA-32, x86-64 Да Да GPT поддерживают новые утилиты, такие как gdisk, GNU Parted, util-linux v2.23+ fdisk, SYSLINUX, GRUB 0.96 (пропатченный) и GRUB 2.
macOS Начиная с 10.4.0 (некоторые функции были запущены начиная с 10.4.6) IA-32, x86-64, PowerPC Да Да С разделов GPT могут загружаться только компьютеры Intel Macintosh.
MidnightBSD Начиная с 0.4-CURRENT IA-32, x86-64 Да Требуется BIOS В конфигурации hybrid могут использоваться идентификаторы как GPT, так и MBR раздела.
NetBSD Начиная с 6.0 x86, x86-64 Да В разработке Некоторые пользователи описали свою процедуру инсталляции с EFI, но пока не было официального подтверждения. Установка с UEFI, выполняемая наполовину вручную, работает на NetBSD 8.0 (-current).
OpenBSD Начиная с 5.9 x86_64 Да Требуется UEFI См. OpenBSD 5.9 site:openbsd.org.
Solaris Начиная с Solaris 10 IA-32, x86-64, SPARC Да Да См. Oracle Solaris site:oracle.com.
HP-UX Начиная с 11.20 IA-64 Да Да См. HP-UX GPT site:hp.com.

Таблица 7. Поддержка GPT на 32-битных версиях Windows (платформа IA-32).

OS Дата релиза R/W Boot Примечание
Windows XP 2001-10-25 Нет Нет  
Windows Server 2003 2003-04-24  
Windows Server 2003 SP1 2005-03-30 Да В конфигурации hybrid раздел MBR имеет приоритет.
Windows Vista 2006-07-22
Windows Server 2008 2008-02-27
Windows 7 2009-10-22
Windows 8 2012-08-01 Требуется UEFI
Windows 8.1 2013-08-27
Windows 10 2015-07-29

Windows 7 и более ранние версии Windows не поддерживают UEFI на 32-битных платформах, поэтому они не поддерживают загрузку с GPT-разделов.

Таблица 8. Поддержка GPT на 64-битных версиях Windows.

OS Дата релиза Платф. R/W Boot Примечание
Windows XP Pro x64 Edition, Windows Server 2003 2005-04-25 x64 Да Нет В конфигурации hybrid MBR раздел MBR имеет приоритет.
Windows Server 2003 2005-04-24 IA-64 Да
Windows Vista 2006-07-22 x64 Требуется UEFI В конфигурации hybrid раздел MBR имеет приоритет.
Windows Server 2008 2008-02-27 x64
IA-64 Да
Windows 7 2009-10-22 x64 Требуется UEFI
Windows Server 2008 R2 2009-10-22 IA-64 Да
Windows 8, Windows Server 2012 2012-08-01 x64 Требуется UEFI
Windows 8.1 2013-08-27 x64
Windows 10 2015-07-29 x64
Windows Server 2016 2016-10-12 x64

Таблица 9. Значения GUID типов раздела.

OS Тип раздела Globally unique identifier (GUID)
Не используемый элемент 00000000-0000-0000-0000-000000000000
Схема раздела MBR 024DEE41-33E7-11D3-9D69-0008C781F39F
Раздел EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B
Раздел BIOS boot 21686148-6449-6E6F-744E-656564454649
Раздел Intel Fast Flash (iFFS, для технологии Intel Rapid Start) D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
Раздел Sony boot F4019732-066E-4E12-8273-346C5641494F
Раздел Lenovo boot BFBFAFE7-A34F-448A-9A5B-6213EB736C22
Windows Зарезервированный раздел (Microsoft Reserved Partition, MSR) E3C9E316-0B5C-4DB8-817D-F92DF00215AE
Базовый раздел данных EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Раздел метаданных Logical Disk Manager (LDM) 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
Раздел данных Logical Disk Manager AF9B60A0-1431-4F62-BC68-3311714A69AD
Windows Recovery Environment DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
Раздел IBM General Parallel File System (GPFS) 37AFFC90-EF7D-4E96-91C3-2D7AE055B174
Раздел Storage Spaces E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
HP-UX Раздел данных 75894C1E-3AEB-11D3-B7C1-7B03A0000000
Сервисный раздел (Service Partition) E2A1E728-32E3-11D6-A682-7B03A0000000
Linux Данные файловой системы Linux 0FC63DAF-8483-4772-8E79-3D69D8477DE4
Раздел RAID A19D880F-05FC-4D3B-A006-743F0F84911E
Корневой раздел (Root Partition) x86 44479540-F297-41B2-9AF7-D131D5F0458A
Корневой раздел (Root Partition) x86-64 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
Корневой раздел (Root Partition) 32-битного ARM 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
Корневой раздел (Root Partition) 64-битного ARM / AArch64 B921B045-1DF0-41C3-AF44-4C6F280D3FAE
Раздел подкачки (Swap Partition) 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
Раздел Logical Volume Manager (LVM) E6D6D379-F507-44C2-A23C-238F2A3DF928
Раздел домашних каталогов пользователей (/home) 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
Раздел /srv (данные сервера) 3B8F8425-20E0-4F3B-907F-1A25A76F98E8
Раздел Plain dm-crypt 7FFEC5C9-2D00-49B7-8941-3EA10A5586B7
Раздел LUKS CA7D7CCB-63ED-4C53-861C-1742536059CC
Зарезервировано 8DA63339-0007-60C0-C436-083AC8230908
FreeBSD Загрузочный раздел (Boot Partition) 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
Раздел данных (Data Partition) 516E7CB4-6ECF-11D6-8FF8-00022D09712B
Раздел подкачки (Swap Partition) 516E7CB5-6ECF-11D6-8FF8-00022D09712B
Раздел Unix File System (UFS) 516E7CB6-6ECF-11D6-8FF8-00022D09712B
Раздел Vinum volume manager 516E7CB8-6ECF-11D6-8FF8-00022D09712B
Раздел ZFS 516E7CBA-6ECF-11D6-8FF8-00022D09712B
macOS, Darwin Раздел Hierarchical File System Plus (HFS+) 48465300-0000-11AA-AA11-00306543ECAC
Apple APFS 7C3457EF-0000-11AA-AA11-00306543ECAC
Apple UFS container 55465300-0000-11AA-AA11-00306543ECAC
ZFS 6A898CC3-1DD2-11B2-99A6-080020736631
Раздел Apple RAID 52414944-0000-11AA-AA11-00306543ECAC
Отключенный раздел Apple RAID 52414944-5F4F-11AA-AA11-00306543ECAC
Раздел Apple Boot (Recovery HD) 426F6F74-0000-11AA-AA11-00306543ECAC
Apple Label 4C616265-6C00-11AA-AA11-00306543ECAC
Раздел Apple TV Recovery 5265636F-7665-11AA-AA11-00306543ECAC
Раздел Apple Core Storage (например Lion FileVault) 53746F72-6167-11AA-AA11-00306543ECAC
SoftRAID_Status B6FA30DA-92D2-4A9A-96F1-871EC6486200
SoftRAID_Scratch 2E313465-19B9-463F-8126-8A7993773801
SoftRAID_Volume FA709C7E-65B1-4593-BFD5-E71D61DE9B02
SoftRAID_Cache BBBA6DF5-F46F-4A89-8F59-8765B2727503
Solaris, illumos Загрузочный раздел (Boot Partition) 6A82CB45-1DD2-11B2-99A6-080020736631
Корневой раздел (Root Partition) 6A85CF4D-1DD2-11B2-99A6-080020736631
Раздел подкачки (Swap Partition) 6A87C46F-1DD2-11B2-99A6-080020736631
Раздел бэкапа (Backup Partition) 6A8B642B-1DD2-11B2-99A6-080020736631
Раздел /usr 6A898CC3-1DD2-11B2-99A6-080020736631
Раздел /var 6A8EF2E9-1DD2-11B2-99A6-080020736631
Раздел /home 6A90BA39-1DD2-11B2-99A6-080020736631
Альтернативный сектор 6A9283A5-1DD2-11B2-99A6-080020736631
Зарезервированный раздел 6A945A3B-1DD2-11B2-99A6-080020736631
6A9630D1-1DD2-11B2-99A6-080020736631
6A980767-1DD2-11B2-99A6-080020736631
6A96237F-1DD2-11B2-99A6-080020736631
6A8D2AC7-1DD2-11B2-99A6-080020736631
NetBSD Раздел подкачки (Swap Partition) 49F48D32-B10E-11DC-B99B-0019D1879648
Раздел FFS 49F48D5A-B10E-11DC-B99B-0019D1879648
Раздел LFS 49F48D82-B10E-11DC-B99B-0019D1879648
Раздел RAID 49F48DAA-B10E-11DC-B99B-0019D1879648
Связанный раздел 2DB519C4-B10F-11DC-B99B-0019D1879648
Зашифрованный раздел 2DB519EC-B10F-11DC-B99B-0019D1879648
Chrome OS Ядро Chrome OS FE3A2A5D-4F32-41A7-B725-ACCC3285A309
Корневая файловая система (rootfs) 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
Зарезервировано для будущего использования 2E0A753D-9E48-43B0-8337-B15192CB1B5E
Container Linux CoreOS Раздел /usr (coreos-usr) 5DFBF5F4-2848-4BAC-AA5E-0D9A20B745A6
Корневая файловая система с возможностью изменения размера (Resizable rootfs, coreos-resize) 3884DD41-8582-4404-B9A8-E9B84F2DF50E
Кастомизации OEM (coreos-reserved) C95DC21A-DF0E-4340-8D7B-26CBFA9A03E0
Корневая файловая система на RAID (coreos-root-raid) BE9067B9-EA49-4F15-B4F6-F36F8C9E1818
Haiku Haiku BFS 42465331-3BA3-10F1-802A-4861696B7521
MidnightBSD Загрузочный раздел (Boot Partition) 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
Раздел данных (Data Partition) 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
Раздел подкачки (Swap Partition) 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
Раздел Unix File System (UFS) 0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7
Раздел Vinum volume manager 85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7
Раздел ZFS 85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
Ceph   Журнал (Journal) 45B0969E-9B03-4F30-B4C6-B4B80CEFF106
dm-crypt journal 45B0969E-9B03-4F30-B4C6-5EC00CEFF106
OSD 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D
dm-crypt OSD 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D
Диск в процессе создания 89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE
dm-crypt диск в процессе создания 89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE
Block CAFECAFE-9B03-4F30-B4C6-B4B80CEFF106
Block DB 30CD0809-C2B2-499C-8879-2D6B78529876
Лог с упреждающей записью блока 5CE17FCE-4087-4169-B7FF-056CC58473F9
Lockbox для ключей dm-crypt FB3AABF9-D25F-47CC-BF5E-721D1816496B
Multipath OSD 4FBD7E29-8AE0-4982-BF9D-5A8D867AF560
Multipath journal 45B0969E-8AE0-4982-BF9D-5A8D867AF560
Multipath block CAFECAFE-8AE0-4982-BF9D-5A8D867AF560
7F4A666A-16F3-47A2-8445-152EF4D03F6C
Multipath block DB EC6D6385-E346-45DC-BE91-DA2A7C8B3261
Лог с упреждающей записью multipath block 01B41E1B-002A-453C-9F17-88793989FF8F
dm-crypt block CAFECAFE-9B03-4F30-B4C6-5EC00CEFF106
dm-crypt block DB 93B0052D-02D9-4D8A-A43B-33A3EE4DFBC3
Лог с упреждающей записью dm-crypt block 306E8683-4FE2-4330-B7C0-00A917C16966
dm-crypt LUKS journal 45B0969E-9B03-4F30-B4C6-35865CEFF106
dm-crypt LUKS block CAFECAFE-9B03-4F30-B4C6-35865CEFF106
dm-crypt LUKS block DB 166418DA-C469-4022-ADF4-B30AFD37F176
Лог с упреждающей записью dm-crypt LUKS block 86A32090-3647-40B9-BBBD-38D8C573AA86
dm-crypt LUKS OSD 4FBD7E29-9D25-41B8-AFD0-35865CEFF05D
OpenBSD Раздел данных 824CC7A0-36A8-11E3-890A-952519AD3F61
QNX Файловая система, устойчивая к пропаданию питания (QNX6) CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1
Plan 9 Раздел Plan 9 C91818F9-8025-47AF-89D2-F030D7000C2C
VMware ESX vmkcore (раздел coredump) 9D275380-40AD-11DB-BF97-000C2911D1B8
Раздел файловой системы VMFS AA31E02A-400F-11DB-9590-000C2911D1B8
Зарезервировано VMware 9198EFFC-31C0-11DB-8F78-000C2911D1B8
Android-IA Bootloader 2568845D-2332-4675-BC39-8FA5A4748D15
Bootloader2 114EAFFE-1552-4022-B26E-9B053604CF84
Boot 49A4D17F-93A3-45C1-A0DE-F50B2EBE2599
Recovery 4177C722-9E92-4AAB-8644-43502BFD5506
Misc EF32A33B-A409-486C-9141-9FFB711F6266
Metadata 20AC26BE-20B7-11E3-84C5-6CFDB94711E9
System 38F428E6-D326-425D-9140-6E0EA133647C
Cache A893EF21-E428-470A-9E55-0668FD91A2D9
Data DC76DDA9-5AC1-491C-AF42-A82591580C0D
Persistent EBC597D0-2053-4B15-8B64-E0AAC75F4DB1
Vendor C5A0AEEC-13EA-11E5-A1B1-001E67CA0C3C
Config BD59408B-4514-490D-BF12-9878D963F378
Factory 8F68CC74-C5E5-48DA-BE91-A0C8C15E9C80
Factory (alt) 9FDAA6EF-4B3F-40D2-BA8D-BFF16BFB887B
Fastboot / Tertiary 767941D0-2085-11E3-AD3B-6CFDB94711E9
OEM AC6D7924-EB71-4DF8-B48D-E267B27148FF
Android 6.0+ ARM Android Meta 19A710A2-B3CA-11E4-B026-10604B889DCF
Android EXT 193D1EA4-B3CA-11E4-B075-10604B889DCF
Open Network Install Environment (ONIE) Boot 7412F7D5-A156-4B13-81DC-867174929325
Config D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149
PowerPC PReP boot 9E1A2D38-C612-4316-AA26-8B49521E5A8B
Операционные системы freedesktop.org (Linux и т. п.) Shared boot loader configuration BC13C2FF-59E6-4262-A352-B275FD6F7172
Atari TOS Базовый раздел данных (GEM, BGM, F32) 734E5AFE-F61A-11E6-BC64-92361F002671

[Linux: переход с MBR на GPT]

MS-DOS Master Boot Record. MBR должна была находиться в первых 512 байтах диска, и здесь содержится загрузчик и таблица разделов. Код загрузчика занимает 446 байт, таблица разделов использует 64 байта, и последние 2 байта хранят сигнатуру загрузки (boot signature). MBR ограничена четырьмя главными разделами (primary partitions), один primary-раздел может содержать расширенный раздел (extended partition), который может быть поделен на логические разделы. Linux поддерживает (теоретически) неограниченное количество логических разделов. Ранние версии Linux ограничивались 63-мя разделами IDE и 15-ю разделами SCSI, потому что ядро было ограничено общим количеством устройств, которое оно могло выделить. Сейчас менеджер устройств udev выделяет номера устройств динамически, поэтому такого ограничения уже нет.

Маленькая и не гибкая MBR просуществовала на Linux довольно долго благодаря хитрым хакам, позволяющим обходить ограничения MBR. Система логической адресации блоков LBA, сменившая старую систему адресации на основе цилиндров, головок и секторов CHS позволила поддерживать диски до 2 терабайт при размере сектора 512 байт. Более продвинутые модификации Linux позволяли использовать сектора по 4096 байт, что давало максимальный размер диска 16 терабайт.

GUID Partition Table (GPT). Современный Linux не нуждается в EFI BIOS для загрузки с раздела GPT, так как может использовать GPT даже на системах со старым BIOS. Операционные системы Mac OS X и Windows не обладают такой гибкостью. У GPT не существует разделения на primary-раздел и логические разделы, здесь диск просто разбивается на отдельные разделы.

Когда Вы форматируете жесткий диск и хотите использовать GPT, просто выберите для этого в выпадающем списке опцию gpt.

У GPT есть несколько важных преимуществ перед MBR: 

• 64-битная адресация позволяет иметь на диске 264 секторов, что дает размер диска 8 ZiB при 512-байтных блоках. Дисков такого размера физически пока что не существует.
• По умолчанию максимальное количество разделов может быть 128. Разделов может быть и больше, если Ваша операционная система это поддерживает.
• GPT устойчива к отказам благодаря копиям таблицы разделов в первом и последнем секторах диска.
• GPT проверяет свою целостность с помощью CRC (CRC), и использует уникальные идентификаторы для дисков и разделов.

Уникальные идентификаторы. Идентификаторы GPT GUID (Globally Unique IDentifiers) и идентификаторы Linux UUID (Universally Unique IDentifiers) не одно и то же, хотя они служат одной и той же полезной цели: дают уникальные имена блочным устройствам. Linux UUID это функция файловых систем, и они создаются, когда создается файловая система. Чтобы посмотреть Linux UUID, выполните команду blkid:

$ sudo blkid 
/dev/sda1: LABEL="storage" UUID="60e97193-e9b2-495f-8db1
  -651f3a87d455" TYPE="ext4" 
/dev/sda2: LABEL="oldhome" UUID="e6494a9b-5fb6-4c35-ad4c-
   86e223040a70" TYPE="ext4"

В этом примере также показаны метки файловой системы, это произвольные имена, которые пользователь может дать своим блоковым устройствам. Мы можем использовать UUID в /etc/fstab примерно так:

# storage, /dev/sda1 data storage
UUID=60e97193-e9b2-495f-8db1-651f3a87d455 /home/carla/storage ext4 user,defaults 0 0

Или можем использовать метку устройства:

LABEL=storage /home/carla/storage ext4 user,defaults 0

Чтобы получить идентификаторы GUID, нужно использовать команду gdisk:

# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help):

Этот вывод сразу дал полезную информацию: диск использует GPT, где MBR применена в защищенном режиме (protective MBR). Protected MBR позволяет загружаться на компьютере со старым BIOS, и защищает GPT от утилит, которые не знакомы с GPT (таких как fdisk) и от операционных систем, которые не могут работать с GPT. Вместо GPT-диска они увидят MBR-диск с разделом неизвестного типа, на котором нет свободного места. Команда gdisk выдает подробную информацию о разделах на диске. Нажмите клавишу p, чтобы увидеть все разделы:

Command (? for help): p
Disk /dev/sdc: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 058D39EE-5D06-409F-AA0C-298A3E6CC302
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 819142765 sectors (390.6 GiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1953791   953.0 MiB   0700  
   2         1953792        80078847   37.3 GiB    0700  
   3        80078848      2033203199   931.3 GiB   0700  
   4      2033203200      3009765375   465.7 GiB   0700  
   5      3009765376      3048826879   18.6 GiB    0700  
   6      3048826880      3087888383   18.6 GiB    8200

Обратите внимание, что показанный размер логического сектора составляет 512 байт. Новые большие диски могут использовать сектора по 4096 байт, и это именно такой диск. Что на самом деле происходит? Чтобы узнать размер физического сектора, можно запустить команду lsblk:

$ lsblk -t /dev/sdc
NAME   ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE
sdc            0   4096      0    4096     512    1 cfq       128
|--sdc1         0   4096      0    4096     512    1 cfq       128
|--sdc2         0   4096      0    4096     512    1 cfq       128
|--sdc3         0   4096      0    4096     512    1 cfq       128

Команда lsblk показала, что физические сектора имеют размер 4096 байт. Это магическое число на больших HDD используется по нескольким причинам: оно позволяет более эффективно использовать пространство хранилища данных, потому что обычная страница памяти на x86 компьютерах составляет 4096 байт, и файловые системы ext3, ext4 по умолчанию используют кластеры размером 4KB. Но для обеспечения обратной совместимости (контроллеры диска, старое ПО и старые операционные системы) производители жестких дисков эмулируют сектора по 512 байт.

Вернемся обратно в gdisk и проверим один раздел. Нажмите i, и введите номер раздела. На старом Linux Mint 13 можно увидеть следующее:

Command (? for help): i
Partition number (1-6): 3
Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)
Partition unique GUID: 8C208C30-4E8F-4096-ACF9-858959BABBAA
First sector: 80078848 (at 38.2 GiB)
Last sector: 2033203199 (at 969.5 GiB)
Partition size: 1953124352 sectors (931.3 GiB)
Attribute flags: 0000000000000000
Partition name: ''

Обратите внимание на Partition GUID code, он обозначен как «Microsoft basic data». На самом деле Microsoft не сможет прочитать этот раздел (он будет виден как не отформатированный), потому что раздел отформатирован в системе EXT4. Так раздел будет отображаться на старых версиях Linux до 2011 года, когда не существовали никакие GUID файловой системы Linux. Теперь GUID есть, и если Вы используете современный Linux, то вместо этого увидите правильный Linux GUID (0FC63DAF-8483-4772-8E79-3D69D8477DE4).

Уникальный Partition GUID это то, что Вы будете использовать в fstab, примерно так:

PARTUUID=8C208C30-4E8F-4096-ACF9-858959BABBAA /data ext4 user,defaults 0 0

[Ссылки]

1. GUID Partition Table site:wikipedia.org.
2. Partition type site:wikipedia.org.
3. Advanced Format site:wikipedia.org.
4. Using the New GUID Partition Table in Linux site:linux.com.

Онлайн GUID генератор — Получите уникальные UUID бесплатно

Подобно тому, как товары используют штрих-коды в качестве идентификаторов, в книгах есть ISBN, автомобили имеют номерные знаки, люди имеют номера социального страхования, UUID — это массивные числа, используемые для идентификации компонентов в компьютерных приложениях. Поэтому мы создали этот бесплатный инструмент для всех, кто ищет уникальный идентификатор, который можно использовать в своих программных проектах или где угодно. 

Просто выберите желаемый формат GUID/UUID, скопируйте код, и все готово. Основываясь на наших исследованиях, мы убедились, что наш инструмент обеспечивает легкий и быстрый опыт. 

Примечание: GUID и UUID — это, по сути, одно и то же, и эти термины используются взаимозаменяемо в сети и даже их создателями (подробное объяснение в последующих разделах).

Для тех из вас, кто не знает основ GUID и соответствующей терминологии, продолжайте читать.

 

Как использовать онлайн-Генератор GUID-UUID?

  1. Откройте страницу нашего инструмента «Генератор ID
  2. Сам инструмент производит 5 GUID для вашего использования. 
  3. Используйте кнопку Скопировать/Загрузить, чтобы получить их или скопировать коды вручную.
  4. Если вы хотите сгенерировать GUID в масштабе, просто введите нужное количество идентификаторов в верхнем поле и нажмите кнопку Generate.
  5. Опять же, Вы можете использовать кнопку Копировать/Загрузить, чтобы получить уникальные идентификаторы для Вашего использования.

 

Особенности GUID/UUID инструмента Фоссбайты

  • Генератор сыпучих кодов: Наш уникальный идентификатор может быть использован для производства кодов в большом объеме и может быть использован, если вам нужно создавать UUID очень часто. Просто определите, сколько GUID-ов вам нужно, и получите их в одно мгновение.
  • Быстрый и легкий: Онлайн-инструменты часто могут быть громоздкими и, в результате, затягивать много оперативной памяти на вкладке веб-браузера. Мы позаботились о том, чтобы генерация множества уникальных идентификаторов была быстрой и приятной для вас.
  • 3 формата на выбор: В соответствии с вашими потребностями, вы можете выбрать форматы GUID — дефис GUID, скобки GUID, и заглавный GUID.
  • Простые варианты экспорта: После генерации уникальных идентификаторов вы можете экспортировать их с помощью кнопки «Копировать» или загрузить в текстовый файл формата .txt для последующего использования.

 

Зачем использовать онлайн-генератор GUID?

Мы рекомендуем онлайн-инструменты в связи с тем, что ваш веб-браузер является наиболее эффективным программным обеспечением для решения наиболее распространенных задач. Онлайн-генератор GUID работает по тому же принципу и не требует программного обеспечения сторонних производителей. В результате вы экономите дорогое дисковое пространство на вашем компьютере или смартфоне и используете его для хранения важных файлов и документов.

 

Является ли инструмент Fossbytes GUID действительно бесплатным?

Да. Мы не просим никаких платежей за запуск наших онлайн-инструментов. Как и наш HTML-редактор, создатель QR-кода или других инструментов, онлайн-Генератор GUID на 100% бесплатен в использовании. Более того, мы не ограничиваем количество раз, когда вы можете использовать его для ваших онлайн/офисных проектов разработки. Все, что мы просим о поддержке и обратной связи, чтобы сделать инструмент с уникальным идентификатором лучше для всех.

 

Какой самый эффективный способ использования этого инструмента идентификации?

Любой начинающий пользователь компьютера/смартфона может с легкостью использовать инструмент UUID. Если вы столкнулись с какими-либо трудностями, просто пройдите несколько простых шагов, о которых мы упоминали в разделе «Как сделать это» выше. Мы также рекомендуем вам сделать закладку на странице «Инструменты Фоссбайты» для легкого доступа на ходу.

 

Генератор уникальных идентификаторов может быть использован на каких браузерах/устройствах?

Ответ на этот вопрос действительно прост — наш инструмент поддерживается всеми современными веб-браузерами, смартфонами и компьютерами. Все, что вам нужно, это рабочее подключение к Интернету для бесплатного доступа к нашему сайту.

Краткое руководство по GUID — лучшее объяснение

Наш мир пронумерован. У книг есть ISBN, а у продуктов — штрих-коды. У автомобилей есть VIN-номера, даже у людей есть номера социального страхования.

Числа помогают нам однозначно ссылаться на товары. «Джон Смит» может означать много людей, но номер социального страхования 123-45-6789 относится точно к одному человеку.

GUID (глобальный уникальный идентификатор) — это более крупная и плохая версия этого типа идентификационного номера. Вы можете увидеть термин UUID (универсальный уникальный идентификатор), придирчивое слово для тех, чьи номера уникальны не только в пределах земного шара, но и во всей вселенной.

Как бы вы его ни называли, GUID или UUID — это просто большие гигантские идентификационные номера.

Проблема со счетом

«Нам не нужны никакие вонючие идентификаторы GUID», — можете подумать вы между глотками Top Ramen, — «Я просто использую обычные числа и начну отсчет с единицы».

Конечно, звучит просто. Просто начните с ISBN №1 и добавляйте по одному для каждой новой книги. Но возникают проблемы:

  • Кто считает? Центральная власть?
  • Кто обрабатывает одновременные запросы и устраняет дубликаты?
  • Могут ли продукты использоваться совместно с идентификаторами? Отличается ли номер социального страхования 1 от ISBN 1?
  • Могут ли люди угадать, какой будет следующий идентификатор? Сколько было выдано удостоверений личности?

Проблема с подсчетом состоит в том, что мы хотим создать идентификационные номера без головной боли управления .38 номеров.

Вот идея GUID:

  • Если вы выберете огромное случайное число (39 цифр), то действительно маловероятно, кто-то выберет то же самое.

  • GUID не привязаны к продукту. GUID можно использовать для людей, машин, файлов, веб-страниц, цветов и всего остального. С обычными регистрационными номерами вы начинаете отсчет с 1, и числа могут перекрываться. Номер социального страхования 123-45-6789 отличается от ISBN 123456789, который отличается от штрих-кода 123456789.Это не проблема с GUID.

  • Человек, читающий GUID, должен выяснить контекст этого GUID. Идентификаторов GUID так много, что вы можете использовать их, чтобы пронумеровать все, и чтобы они не закончились.

GUID дают вам уникальный серийный номер, который можно использовать для любого элемента во вселенной.

Большая нехватка GUID

Когда вы изучаете GUID, мне кажется, что 39 жалких цифр недостаточно. Разве мы не закончим, если люди начнут сходить с ума по GUID, назначая им все, от их домашних животных до их любимого вкуса жевательной резинки?

Посмотрим.12) для ударов ногами. Подумайте о каждой статье в Википедии, каждой новости на CNN, каждом продукте на Amazon, каждом сообщении в блоге любого автора. Мы можем назначить GUID для каждого из этих документов.

Теперь предположим, что каждый на Земле получает свою собственную копию Интернета, чтобы отслеживать свои вещи. Еще более безумно, допустим, каждый человек каждую секунду получает свою копию Интернета. Как долго мы можем продолжать?

Более миллиарда лет.

Позвольте мне сказать это еще раз. Каждый человек получает личных копий Интернета каждую секунду в течение миллиардов лет.

Это ошеломляющее количество предметов, и трудно представить себе это. Поверьте, в ближайшее время у нас не закончатся идентификаторы GUID. А если мы это сделаем? Мы начнем использовать идентификаторы GUID с большим количеством цифр.

Использование GUID

Если вы хотите создать GUID, попробуйте

Существует несколько способов создания идентификаторов GUID (соглашения описаны в RFC 4122), но вы хотите избежать этого беспорядка и использовать библиотеку. Общие типы GUID:

  • Случайно: Просто используйте системный генератор случайных чисел, чтобы создать 128-битное число.
  • По времени: Создать GUID на основе текущего времени.
  • Аппаратно: Создайте GUID с определенными частями на основе аппаратных функций, таких как MAC-адрес сетевой карты. Это не очень хорошо, потому что GUID не является «анонимным» и может быть частично прослежен до машины, которая его создала.
  • На основе содержимого (хэш данных MD5 или SHA-1): Создайте GUID на основе хэша содержимого файла. Файлы с одинаковым содержимым получат одинаковый GUID.Вы также можете заполнить хэш уникальным пространством имен (например, вашим URL-адресом).

Вы можете смешивать и сочетать описанные выше техники. Если вы хотите, чтобы повторяющиеся файлы имели одинаковый идентификатор GUID, используйте идентификаторы GUID на основе содержимого. Если вы хотите, чтобы идентификаторы GUID были уникальными, даже если содержимое одинаково, создайте их случайным образом или с комбинацией содержимого файла и случайного числа.

Примеры GUID

Вот несколько вещей, которые вы можете сделать с GUID:

  • Уникальный первичный ключ в базах данных.Это позволяет позже объединить элементы базы данных, созданные на разных машинах, без конфликтов и без необходимости в центральном сервере для управления идентификаторами.
  • Уникальное имя для загруженных файлов. Если каждая версия файла получает свой собственный идентификатор GUID, вы можете установить длительное время истечения срока действия кеша.
  • Уникальное имя для ресурсов (URL del.icio.us для instacalc: http://del.icio.us/url/6c5ff0ed608e75724df94a52b05dd6a8)
  • Разрешить поставщикам создавать и регистрировать уникальные идентификаторы без обращения в центральный орган (например, идентификаторы классов в COM)

Компромиссы с GUID

Как и у большинства вещей в жизни, у GUID есть свои преимущества и недостатки.Взвесьте характеристики, чтобы увидеть, имеют ли они смысл:

Плюсов:

  • Нет центральной власти: Вы избегаете необходимости в управлении, но не можете отслеживать, что было назначено. Компромисс состоит в том, чтобы сгенерировать идентификаторы GUID внутри компании, а затем передать их.
  • Легко комбинировать: Вы можете объединять наборы GUID из разных источников данных с микроскопической вероятностью конфликта.

Минусы:

  • Отображается случайным образом: Пользователи не могут легко угадать идентификатор объекта, которого они не знают.Это хорошо для безопасности, но сложно для отладки.
  • Накладные расходы GUID: GUID являются примером компромисса между пространством и временем. Вы экономите время при слиянии, но должны использовать пространство для хранения большого (16-байтового) GUID. Возможно, не имеет смысла иметь 16-байтовый GUID, отслеживающий 4-байтовый элемент в вашей базе данных.

GUID не являются гарантией

Есть одна большая оговорка для GUID: коллизии все еще возможны.

Во-первых, парадокс дня рождения показывает нам вероятность столкновения при использовании идентификаторов GUID.Очень и очень маловероятно, что GUID будут конфликтовать, но чем больше назначено, тем меньше остается выбора.

Во-вторых, злоумышленник может попытаться перехватить идентификаторы GUID, которые, как он знает, будут использоваться (при условии, что пользователь может назначить свои собственные идентификаторы GUID), или повторно отправить другое содержимое для предыдущего идентификатора GUID (отправить файл A под хешем файла B).

Если вы пишете программное обеспечение, программируйте защитно и выявляйте случаи, когда GUID уже существует. Выдайте пользователю ошибку или, что еще лучше, восстановите, создайте новый GUID на стороне сервера и попробуйте еще раз.Идентификаторы GUID — это здорово, но они не волшебная палочка.

Как всегда, мы никогда не заканчиваем обучение. Подробнее о GUID здесь:

Другие сообщения этой серии

  1. Системы счисления и базы
  2. Краткое руководство по GUID
  3. Понимание быстрого обратного квадратного корня землетрясения
  4. Простое введение в компьютерные сети
  5. Поменять местами две переменные с помощью XOR
  6. Общие сведения о порядке байтов с прямым и обратным порядком байтов
  7. Юникод и вы
  8. Немного о форматах двоичных файлов
  9. Алгоритмы сортировки

языковая независимость — Что такое GUID? Зачем и где я должен его использовать?

GUID — это «глобально уникальный идентификатор».Также называется UUID (универсальный уникальный идентификатор).

По сути, это 128-битное число, которое генерируется способом (см. RFC 4112 http://www.ietf.org/rfc/rfc4122.txt), что делает создание дубликатов практически невозможным. Таким образом, я могу генерировать идентификаторы GUID без необходимости предоставления их мне какой-либо сторонней организацией, чтобы убедиться, что они уникальны.

Одно из широко распространенных применений GUID — это идентификаторы для объектов COM в Windows (классы, библиотеки типов, интерфейсы и т. Д.). Используя идентификаторы GUID, разработчики могут создавать свои COM-компоненты, не обращаясь в Microsoft за уникальным идентификатором.Несмотря на то, что идентификация объектов COM является основным применением идентификаторов GUID, они используются для многих вещей, требующих уникальных идентификаторов. Некоторые разработчики будут генерировать идентификаторы GUID для записей базы данных, чтобы предоставить им идентификатор, который можно использовать, даже если они должны быть уникальными для множества разных баз данных.

Как правило, вы можете думать о GUID как о серийном номере, который может быть сгенерирован кем угодно в любое время, и они будут знать, что серийный номер будет уникальным.

Другие способы получения уникальных идентификаторов включают получение доменного имени.Чтобы гарантировать уникальность доменных имен, вы должны получить его от какой-либо организации (в конечном итоге администрируемой ICANN).

Поскольку идентификаторы GUID могут быть громоздкими (с точки зрения восприятия человеком они представляют собой строку шестнадцатеричных чисел, обычно сгруппированных следующим образом: aaaaaaaa-bbbb-cccc-dddd-ffffffffffff), некоторые пространства имен, которым требуются уникальные имена в разных организациях, используют другую схему (часто на основе доменных имен в Интернете).

Итак, пространство имен для пакетов Java по соглашению начинается с доменного имени организации (в обратном порядке), за которым следуют имена, определенные определенным образом организации.Например, пакет Java может называться:

.
  com.example.jpackage
  

Это означает, что решение конфликтов имен становится обязанностью каждой организации.

Пространства имен

XML также делаются уникальными аналогичным образом — по соглашению, кто-то, создающий пространство имен XML, должен сделать его «под» зарегистрированным доменным именем под своим контролем. Например:

  xmlns = "http://www.w3.org/1999/xhtml"
  

Другой способ управления уникальными идентификаторами — это MAC-адреса Ethernet.Компания, которая производит карты Ethernet, должна получить блок адресов, назначенных им IEEE (я думаю, что это IEEE). В этом случае схема работала довольно хорошо, и даже если производитель облажался и выпустил карты с повторяющимися MAC-адресами, все будет работать нормально, пока эти карты не находятся в той же подсети, поскольку за пределами подсети только IP-адрес адрес используется для маршрутизации пакетов. Хотя есть и другие варианты использования MAC-адресов, которые могут быть затронуты, один из алгоритмов генерации GUID использует MAC-адрес в качестве одного параметра.Этот метод генерации GUID больше не используется так широко, потому что считается угрозой конфиденциальности.

Одним из примеров схемы создания уникальных идентификаторов, которая не очень хорошо работает, были идентификаторы, предоставленные Microsoft для драйверов VxD в Windows 9x. Разработчики сторонних драйверов VxD должны были запрашивать у Microsoft набор идентификаторов, которые будут использоваться для любых драйверов, написанных третьей стороной. Таким образом, Microsoft могла гарантировать отсутствие повторяющихся идентификаторов. К сожалению, многие разработчики драйверов никогда не беспокоились и просто использовали любой ID, который был в примере VxD, который они использовали в качестве отправной точки.Я не уверен, сколько проблем это вызвало — я не думаю, что уникальность идентификатора VxD была абсолютно необходима, но, вероятно, это повлияло на некоторые функции в некоторых API.

GUID — приложения Win32 | Документы Microsoft

  • 2 минуты на чтение

В этой статье

GUID идентифицирует объект, такой как интерфейсы COM, объект класса COM или вектор точки входа менеджера (EPV).GUID — это 128-битное значение, состоящее из одной группы из 8 шестнадцатеричных цифр, за которыми следуют три группы по 4 шестнадцатеричных цифры каждая, за которыми следует одна группа из 12 шестнадцатеричных цифр. В следующем примере GUID показаны группы шестнадцатеричных цифр в GUID: 6B29FC40-CA47-1067-B31D-00DD010662DA.

В структуре GUID хранится GUID.

Синтаксис

  typedef struct _GUID {
  unsigned long Data1;
  беззнаковый короткий Data2;
  беззнаковый короткий Data3;
  беззнаковый символ Data4 [8];
} GUID;
  

участников

Данные1

Задает первые 8 шестнадцатеричных цифр GUID.

Данные2

Задает первую группу из 4 шестнадцатеричных цифр.

Данные3

Задает вторую группу из 4 шестнадцатеричных цифр.

Данные4

Массив из 8 байтов. Первые 2 байта содержат третью группу из 4 шестнадцатеричных цифр. Остальные 6 байтов содержат последние 12 шестнадцатеричных цифр.

Замечания

GUID

— это реализация Microsoft универсального уникального идентификатора (UUID) распределенной вычислительной среды (DCE).Библиотеки времени выполнения RPC используют UUID для проверки совместимости между клиентами и серверами и для выбора из нескольких реализаций интерфейса. Функции управления доступом Windows используют идентификаторы GUID для определения типа объекта, который защищает объектная ACE в списке управления доступом (ACL).

См. Также

ACCESS_ALLOWED_OBJECT_ACE
ACE
ACL
UUID
UUID_VECTOR

Требования

Минимальный поддерживаемый клиент Windows 10, сборка 20348
Минимальный поддерживаемый сервер Windows 10, сборка 20348
Заголовок guiddef.h

Создание идентификаторов GUID с помощью VB.NET — TechRepublic

Существует множество причин, по которым разработчики используют глобальные уникальные идентификаторы (GUID), такие как присвоение уникальных идентификаторов классам или при работе с базами данных. Этот совет содержит образец кода, который показывает, как сгенерировать идентификаторы GUID с помощью VB.NET.

Разработчики используют глобальные уникальные идентификаторы (GUID) по разным причинам, например, для присвоения уникальных идентификаторы классов или при работе с базами данных.GUID — это Реализация Microsoft распределенной вычислительной среды (DCE) универсальный уникальный идентификатор (UUID). GUID — это 128-битные глобальные уникальные идентификаторы, которые автоматически генерируются на основе примерно на два миллиарда часто меняющихся факторов.

Существует крайне низкая вероятность того, что значение GUID будут все нули или будут равны любому другому GUID. Вы можете использовать идентификаторы GUID на всех компьютерах и в сетях, где бы они ни находились. идентификатор обязателен.

GUID идентифицируют такие объекты, как интерфейсы и объекты классов. GUID состоит из одной группы из 8 шестнадцатеричных цифры, за которыми следуют три группы по 4 шестнадцатеричных цифры в каждой, которые за которой следует одна группа из 12 шестнадцатеричных цифр.

В следующем сценарии я вручную сгенерируйте GUID, который я могу использовать позже в приложении, используя VB.NET:

 Private Sub GenerateGUID () 

Dim sGUID As String
sGUID = System.Guid.NewGuid.ToString ()
MessageBox.Show (sGUID)

End Sub

В этом примере я определяю строковую переменную sGUID для хранения GUID, который я сгенерирую. Затем я установил значение sGUID на значение, возвращаемое System.Guid.NewGuid метод (с использованием System.Guid namespace) и преобразуйте результат в строку, используя ToString ( ) . Результат отображается в сообщении коробка.

Примечание: Визуальный Studio .NET позволяет легко генерировать GUID в интерактивном режиме, запустив Командная строка Visual Studio .NET. Для получения дополнительных сведений посетите MSDN. сайт. Еще один ресурс, который стоит проверить, — это TechRepublic. статья «Генерация и работа с GUID в .NET. »

Пропустите подсказку?

Загляните в архив Visual Basic и следите за последними выпусками колонки Ирины Медвинской.

Повысьте свои навыки написания сценариев на новый уровень с помощью бесплатного информационного бюллетеня Visual Basic от TechRepublic, который доставляется каждую пятницу.Зарегистрируйтесь автоматически сегодня!

Онлайн-генератор GUID — Получите уникальные UUID бесплатно

GUID: Глобальный уникальный идентификатор
UUID: Универсальный уникальный идентификатор

GUID / UUID — это 128-битная система идентификаторов чисел, которая обычно используется в компьютерных системах для идентификации различных типов информации. Что отличает их от других, так это их уникальность и независимость от любого центрального органа или регистрационного агентства.

GUID и UUID выглядят одинаково и используются для одних и тех же целей. Для общего использования вы можете понять, что GUID относится к стандарту UUID, реализованному корпорацией Майкрософт. Если вас действительно волнуют мелкие различия, то в некоторой документации Microsoft указано, что идентификаторы GUID должны иметь любую шестнадцатеричную цифру в любой позиции. С другой стороны, стандарт UUID RFC4122 требует определенных значений для полей варианта и версии.

Примеры UUID-GUID

Некоторые примеры уникальных идентификаторов с комбинацией дефисов, фигурных скобок и прописных букв

  • 43077844-227a-4202-862b-83947e279fb3
  • {DCFDD741-92E7-42DE-BB08-B8C829EF2677}
  • {3c0fb8e7-c1c6-4a4a-b0a9-bddb3ef
  • }

Приложения UUID

Из-за уникальности UUID он часто используется в компьютерных / сетевых системах.Microsoft, которая использует свою версию GUID, применяет его для программных компонентов, таких как объект-компонент, объекты-модули. Он также используется во множестве других приложений, таких как криптографические хеш-значения, MAC-адрес на основе идентификатора, сеансы, токен, объекты, документы, ключи базы данных и т. Д.

Уникальность GUID / UUID

Как было сказано выше, вам не нужно нигде регистрироваться, чтобы создать GUID для вашего использования. Используя стандарты уникальных идентификаторов (RFC4122), установленные для их создания, любой может сгенерировать GUID и продолжить его использование.Поскольку вероятность дублирования этих кодов почти равна нулю, вам не нужно беспокоиться о создании GUID, который не будет уникальным.

Создание UUID / GUID вручную с использованием Python

Вы можете использовать библиотеку Python с именем UUID для генерации случайных 128-битных чисел. Библиотека использует сетевой адрес вашего компьютера и системное время. Вы можете использовать функцию модуля uuid4 () для создания 5 случайных и уникальных значений UUID. Вы также можете использовать цикл while, чтобы генерировать значения нужное количество раз.

Сгенерировать UUID / GUID вручную с помощью JavaScript

Есть разные способы получить уникальные идентификаторы с помощью JavaScript. Вы можете использовать модуль uuid npm для RFC4122 UUID или просто использовать функцию Math.Random (). Однако настоятельно рекомендуется использовать модуль npm из-за его более высокой уникальности.

Понимание типа данных GUID в SQL Server

Что такое GUID?

GUID — это 16-байтовый двоичный тип данных SQL Server, который является глобально уникальным для таблиц, баз данных и серверов.Термин GUID означает глобальный уникальный идентификатор и используется как синоним UNIQUEIDENTIFIER.

Чтобы создать GUID в SQL Server, используется функция NEWID (), как показано ниже:

Выполните указанную выше строку SQL несколько раз, и каждый раз вы будете видеть другое значение. Это потому, что функция NEWID () генерирует уникальное значение всякий раз, когда вы ее выполняете.

Чтобы объявить переменную типа GUID, используется ключевое слово UNIQUEIDENTIFIER, как указано в сценарии ниже:

DECLARE @UNI UNIQUEIDENTIFIER

SET @UNI = NEWID ()

SELECT @UNI

Как упоминалось ранее, значения GUID уникальны для таблиц, баз данных и серверов.GUID можно рассматривать как глобальные первичные ключи. Локальные первичные ключи используются для уникальной идентификации записей в таблице. С другой стороны, идентификаторы GUID могут использоваться для однозначной идентификации записей в таблицах, базах данных и серверах.

Решение проблемы с помощью GUID

Давайте посмотрим, с какими проблемами мы сталкиваемся, если у нас есть избыточные записи в таблицах в разных базах данных, и как GUID решает эти проблемы.

Выполните следующий сценарий.

СОЗДАТЬ БАЗУ ДАННЫХ EngDB

GO

ИСПОЛЬЗОВАТЬ EngDB

GO

СОЗДАТЬ ТАБЛИЦУ Английский язык Студенты

(

Идентификатор INT PRIMARY KEY IDENTITY

AR

000

000

000)

000

000

000

000

ВСТАВИТЬ ЦЕННОСТИ для студентов («Шейн»)

ВСТАВИТЬ В «Английский» ЦЕННОСТИ для студентов («Джонни»)

В приведенном выше сценарии мы создаем базу данных с именем «EngDB».Затем мы создаем таблицу «EnglishStudents» в этой базе данных. В таблице есть два столбца: Id и StudentName. Столбец Id является столбцом первичного ключа, и мы установили его автоматическое увеличение, используя Identity в качестве ограничения. Наконец, мы вставляем две записи для студентов, которые называются «Шейн» и «Джонни», в таблицу «EnglishStudents».

Теперь, если вы выберете все записи из таблицы «EnglishStudents», вы должны увидеть следующий результат:

Id Имя ученика
1 Шейн
2 Джонни

Теперь давайте создадим другую базу данных «MathDB», создадим в ней таблицу «MathStudents» и вставим в нее несколько записей.Для этого выполните следующий сценарий.

СОЗДАТЬ БАЗУ ДАННЫХ MathDB

GO

ИСПОЛЬЗОВАТЬ MathDB

GO

СОЗДАТЬ ТАБЛИЦУ MathStudents

(

Id Id MathDB

(

Id Id)

0002

9000

9000

9000 9000

9000

9000

9000

ВСТАВИТЬ ЗНАЧЕНИЯ для студентов-математиков («Салли»)

ВСТАВИТЬ В ЦЕННОСТИ для студентов-математиков («Эдвард»)

В таблице MathStudents MathDB должны быть следующие записи.

Id Имя ученика
1 Салли
2 Эдвард

Теперь, если вы выберете все записи из таблицы EnglishStudents таблицы EngDB и MathStudents таблицы MathDB, вы увидите, что записи из обеих таблиц будут иметь одинаковые значения для идентификатора столбца первичного ключа.Выполните следующий сценарий, чтобы увидеть этот результат:

ВЫБРАТЬ * ИЗ EngDB.dbo.EnglishStudents

ВЫБРАТЬ * ИЗ MathDB.dbo.MathStudents

Вы увидите следующий вывод в SQL Server Management Studio.

Записи студентов из разных таблиц, которые существуют в двух разных базах данных, имеют одинаковое значение для столбца Id.Это поведение SQL Server по умолчанию.

Теперь давайте создадим новую таблицу Student, содержащую объединение всех записей из таблицы MathStudents и таблицы EnglishStudents. Выполните следующий скрипт:

ИСПОЛЬЗУЙТЕ EngDB

GO

СОЗДАЙТЕ ТАБЛИЦУ Студенты

(

Id INT PRIMARY KEY,

StudentName NVARCHAR (50)

)

GOS3 9000 INTO 9000 Eng2 9000 FRS

IN2 9000 INECT .dbo.EnglishStudents

UNION ALL

SELECT * FROM MathDB.dbo.MathStudents

В приведенном выше сценарии мы создаем новую таблицу «Студенты» в EngDB. Эта таблица содержит столбцы Id и StudentName.

Если вы попытаетесь запустить приведенный выше сценарий, вы увидите ошибку:

Эта ошибка возникает из-за того, что таблицы MathStudents и EnglishStudents имеют одинаковые значения для столбца Id, который также является столбцом первичного ключа для вновь созданной таблицы Student.Поэтому, когда мы пытаемся вставить объединение записей из таблиц MathStudents и EnglishStudents, возникает ошибка «Нарушение ограничения PRIMARY KEY». Выполните следующий сценарий, чтобы увидеть, что мы на самом деле пытаемся вставить в таблицу «Студенты».

ВЫБРАТЬ * ИЗ EngDB.dbo.EnglishStudents

UNION ALL

ВЫБРАТЬ * ИЗ MathDB.dbo.MathStudents

Однако что, если мы хотим, чтобы записи имели уникальные значения в нескольких базах данных? Например, мы хотим, чтобы столбцы Id таблицы EnglishStudents и таблицы MathStudents имели уникальные значения, даже если они принадлежат разным базам данных.Вот когда нам нужно использовать тип данных GUID.

Вы можете видеть, что у студентов Шейн и Салли идентификаторы 1, а у Джонни и Эдварда идентификаторы 2. Это вызывает нарушение ограничения первичного ключа для таблицы «Студенты».

Решение с GUID

Теперь давайте посмотрим, как можно использовать GUID для решения этой проблемы.

Давайте создадим таблицу EngStudents1 в EngDB, но на этот раз мы изменим тип данных столбца Id с INT на UNIQUEIDENTIFIER.Чтобы установить значение по умолчанию для столбца, мы будем использовать ключевое слово default и установить значение по умолчанию как значение, возвращаемое функцией «NEWID ()».

Это гарантирует, что всякий раз, когда новая запись вставляется в таблицу EngStudents1, по умолчанию функция NEWID () генерирует уникальное значение для столбца Id. При вставке записей мы просто должны указать «по умолчанию» в качестве значения для первого столбца. Это вставит уникальное значение по умолчанию в столбец Id. Выполните следующий скрипт для создания таблицы EngStudents1:

ИСПОЛЬЗОВАТЬ EngDB

GO

СОЗДАТЬ ТАБЛИЦУ EnglishStudents1

(

Id UNIQUEIDENTIFIER PRIMARY KEY по умолчанию NEWID (),

StudentName VERTCHAR (английский)

000

000 GOStudents

000 IN

000) ЗНАЧЕНИЯ (по умолчанию, «Шейн»)

ВСТАВИТЬ В EnglishStudents1 ЗНАЧЕНИЯ (по умолчанию, «Джонни»)

Теперь, если вы выберете все записи из таблицы EnglishStudents1, вы получите следующий результат:

Id Имя ученика
4B900A74-E2D9-4837-B9A4-9E828752716E Джонни
AEDC617C-D035-4213-B55A-DAE5CDFCA366 Шейн

Примечание: Ваши значения для столбца Id будут отличаться от значений, показанных в приведенной выше таблице, поскольку они генерируются случайным образом на лету.Однако они должны быть уникальными в глобальном масштабе.

Таким же образом создайте еще одну таблицу MathStudents1 в базе данных MathDB. Выполните следующий скрипт:

ИСПОЛЬЗОВАТЬ MathDB

GO

СОЗДАТЬ ТАБЛИЦУ MathStudents1

(

Id UNIQUEIDENTIFIER PRIMARY KEY по умолчанию NEWID (),

StudentName VARCHAR (50)

0002000200020003

ЗНАЧЕНИЯ (по умолчанию, «Салли»)

ВСТАВИТЬ В MathStudents1 ЗНАЧЕНИЯ (по умолчанию, «Эдвард»)

Опять же, если вы попытаетесь получить все записи из таблицы MathStudents1 базы данных MathDB, вы увидите результаты, аналогичные приведенному ниже:

Id Имя ученика
69121893-3AFC-4F92-85F3-40BB5E7C7E29 Салли
CB77CCE6-C2CB-471B-BDD4-5DAC8C93B756 Эдвард

Теперь у нас есть глобально уникальные значения в столбцах Id таблиц EnglishStudents1 и MathStudents1.Давайте создадим новую таблицу с именем Student1s и, как и раньше, попробуем вставить объединение записей из EnglishStudents1 и MathStudents1. На этот раз мы увидим, что ошибки «Нарушение ограничения PRIMARY KEY» не будет, поскольку значения в столбце Id для EnglishStudents1 и MathStudents1 уникальны для баз данных EngDB и MathDB.

ИСПОЛЬЗУЙТЕ EngDB

GO

СОЗДАЙТЕ ТАБЛИЦУ Студенты1

(

Id UNIQUEIDENTIFIER PRIMARY KEY,

StudentName NVARCHAR (50)

INGTO1

IN)

GO2 .dbo.EnglishStudents1

UNION ALL

SELECT * FROM MathDB.dbo.MathStudents1

В приведенном выше сценарии вы можете видеть, что тип столбца Id — UNIQUEIDENTIFIER. Запустите приведенный выше сценарий, а затем попробуйте получить все записи из таблицы Student1, и вы должны увидеть результаты, подобные следующим:

Id Имя ученика
69121893-3AFC-4F92-85F3-40BB5E7C7E29 Салли
CB77CCE6-C2CB-471B-BDD4-5DAC8C93B756 Эдвард
4B900A74-E2D9-4837-B9A4-9E828752716E Джонни
AEDC617C-D035-4213-B55A-DAE5CDFCA366 Шейн

Вы можете видеть, что с помощью GUID мы можем вставить объединение записей из двух разных баз данных в новую таблицу без какой-либо ошибки «Нарушение ограничения PRIMARY KEY».

Список литературы

Другие замечательные статьи от Ben


Бен Ричардсон руководит Acuity Training, ведущим поставщиком обучения SQL в Великобритании. Он предлагает полный спектр обучения SQL, от вводных курсов до углубленного обучения администрированию и хранилищам данных — подробнее см. Здесь. У Acuity есть офисы в Лондоне и Гилфорде, графство Суррей. Он также иногда ведет блог в блоге Acuity

Посмотреть все сообщения Бена Ричардсона

Последние сообщения Бена Ричардсона (посмотреть все)

Генератор надежных случайных паролей

Для предотвращения взлома ваших паролей с помощью методов социальной инженерии, перебора или атаки по словарю, а также для обеспечения безопасности ваших онлайн-аккаунтов, вы должны заметить, что:

1.Не используйте один и тот же пароль, секретный вопрос и ответ для нескольких важных учетных записей.

2. Используйте пароль, состоящий как минимум из 16 символов, используйте как минимум одну цифру, одну заглавную букву, одну строчную букву и один специальный символ.

3. Не используйте в паролях имена членов вашей семьи, друзей или домашних животных.

4. Не используйте в паролях почтовые индексы, номера домов, номера телефонов, даты рождения, номера удостоверений личности, номера социального страхования и т. Д.

5.Не используйте словарные слова в своих паролях. Примеры надежных паролей: ePYHc ~ dS *) 8 $ + V- ‘, qzRtC {6rXN3N \ RgL, zbfUMZPE6`FC%) sZ. Примеры слабых паролей: qwert12345, Gbt3fC79ZmMEFUFJ, 1234567890, 987654321, nortonpassword.

6. Не используйте два или более одинаковых пароля, у которых большинство символов одинаковы, например ilovefreshflowersMac, ilovefreshflowersDropBox, поскольку если один из этих паролей украден, это означает, что все эти пароли украдены.

7. Не используйте в качестве паролей то, что можно клонировать (но нельзя изменить), например отпечатки пальцев.

8. Не позволяйте вашим веб-браузерам (FireFox, Chrome, Safari, Opera, IE, Microsoft Edge) хранить ваши пароли, поскольку все пароли, сохраненные в веб-браузерах, можно легко раскрыть.

9. Не входите в важные учетные записи на чужих компьютерах или при подключении к общедоступной точке доступа Wi-Fi, Tor, бесплатному VPN или веб-прокси.

10. Не отправляйте конфиденциальную информацию в Интернете в незашифрованном виде (например,грамм. HTTP или FTP), потому что сообщения в этих соединениях можно перехватить с очень небольшими усилиями. По возможности следует использовать зашифрованные соединения, такие как HTTPS, SFTP, FTPS, SMTPS, IPSec.

11. Во время путешествия вы можете зашифровать свои интернет-соединения, прежде чем они покинут ваш ноутбук, планшет, мобильный телефон или маршрутизатор. Например, вы можете настроить частный VPN с такими протоколами, как WireGuard (или IKEv2, OpenVPN, SSTP, L2TP через IPSec) на своем собственном сервере (домашний компьютер, выделенный сервер или VPS) и подключиться к нему.В качестве альтернативы вы можете настроить зашифрованный SSH-туннель между вашим компьютером и вашим собственным сервером и настроить Chrome или FireFox для использования прокси-сервера socks. Тогда, даже если кто-то захватит ваши данные при их передаче между вашим устройством (например, ноутбуком, iPhone, iPad) и вашим сервером с помощью анализатора пакетов, он не сможет украсть ваши данные и пароли из зашифрованных потоковых данных.

12. Насколько надежен мой пароль? Возможно, вы считаете, что ваши пароли очень надежны и их сложно взломать.Но если хакер украл ваше имя пользователя и хеш-значение MD5 вашего пароля с сервера компании, а радужная таблица хакера содержит этот хеш-код MD5, то ваш пароль будет быстро взломан.

Чтобы проверить надежность ваших паролей и узнать, находятся ли они в популярных радужных таблицах, вы можете преобразовать свои пароли в хэши MD5 на генераторе хешей MD5, а затем расшифровать свои пароли, отправив эти хэши в онлайн-службу дешифрования MD5. Например, ваш пароль — «0123456789A», при использовании метода грубой силы компьютеру может потребоваться почти год, чтобы взломать ваш пароль, но если вы расшифруете его, отправив его хэш MD5 (C8E7279CD035B23BB9C0F1F954DFF5B3) на веб-сайт расшифровки MD5, как много времени потребуется, чтобы его взломать? Вы можете провести тест самостоятельно.

13. Рекомендуется менять пароли каждые 10 недель.

14. Рекомендуется запомнить несколько мастер-паролей, сохранить другие пароли в текстовом файле и зашифровать этот файл с помощью 7-Zip, GPG или программного обеспечения для шифрования диска, такого как BitLocker, или управлять своими паролями с помощью программного обеспечения для управления паролями.

15. Зашифруйте и сохраните свои пароли в разные места, а затем, если вы потеряли доступ к своему компьютеру или учетной записи, вы можете быстро восстановить свои пароли.

16. По возможности включайте двухэтапную аутентификацию.

17. Не храните важные пароли в облаке.

18. Доступ к важным веб-сайтам (например, Paypal) напрямую из закладок, в противном случае внимательно проверьте его доменное имя. Перед вводом пароля рекомендуется проверить популярность веб-сайта с помощью панели инструментов Alexa, чтобы убедиться, что это не фишинговый сайт.

19. Защитите свой компьютер с помощью брандмауэра и антивирусного программного обеспечения, заблокируйте все входящие соединения и все ненужные исходящие соединения с помощью брандмауэра.Загружайте программное обеспечение только с авторитетных сайтов и по возможности проверяйте контрольную сумму MD5 / SHA1 / SHA256 или подпись GPG установочного пакета.

20. Сохраняйте операционные системы (например, Windows 7, Windows 10, Mac OS X, iOS, Linux) и веб-браузеры (например, FireFox, Chrome, IE, Microsoft Edge) своих устройств (например, ПК с Windows, ПК Mac, iPhone, iPad, планшет Android), установив последнее обновление для системы безопасности.

21. Если на вашем компьютере есть важные файлы и к ним могут получить доступ другие пользователи, проверьте наличие аппаратных клавиатурных шпионов (например,грамм. сниффер беспроводной клавиатуры), программные кейлоггеры и скрытые камеры, когда вы считаете это необходимым.

22. Если в вашем доме есть WIFI-роутеры, то можно узнать пароли, которые вы ввели (в доме вашего соседа), по жестам ваших пальцев и рук, поскольку полученный ими сигнал WIFI будет меняться, когда вы двигаете пальцами. и руки. Вы можете использовать экранную клавиатуру для ввода паролей в таких случаях, было бы более безопасно, если бы эта виртуальная клавиатура (или программная клавиатура) меняла раскладки каждый раз.

23. Заблокируйте компьютер и мобильный телефон, когда вы их покидаете.

24. Зашифруйте весь жесткий диск с помощью VeraCrypt, FileVault, LUKS или аналогичных инструментов, прежде чем помещать на него важные файлы, и физически уничтожьте жесткие диски своих старых устройств, если это необходимо.

25. Доступ к важным веб-сайтам в частном режиме или в режиме инкогнито, или использование одного веб-браузера для доступа к важным веб-сайтам, использование другого для доступа к другим сайтам. Или заходите на неважные веб-сайты и устанавливайте новое программное обеспечение внутри виртуальной машины, созданной с помощью VMware, VirtualBox или Parallels.

26. Используйте по крайней мере 3 разных адреса электронной почты, используйте первый для получения писем от важных сайтов и приложений, таких как Paypal и Amazon, используйте второй для получения писем от неважных сайтов и приложений, используйте третий (с другого почтового провайдера, такого как Outlook и GMail), чтобы получать ваше письмо для сброса пароля при взломе первого (например, Yahoo Mail).

27. Используйте по крайней мере 2 разных телефонных номера, НЕ сообщайте другим телефонный номер, который вы используете для получения текстовых сообщений с кодами подтверждения.

28. Не нажимайте ссылку в электронном письме или SMS-сообщении, не сбрасывайте пароли, щелкая их, за исключением того, что вы знаете, что эти сообщения не являются поддельными.

29. Никому не сообщайте свои пароли по электронной почте.

30. Возможно, что одно из загруженных или обновленных программ или приложений было изменено хакерами. Вы можете избежать этой проблемы, не устанавливая это программное обеспечение или приложение в первый раз, за ​​исключением того, что оно опубликовано для устранения дыр в безопасности.Вместо этого вы можете использовать веб-приложения, которые более безопасны и портативны.

31. Будьте осторожны при использовании онлайн-инструментов вставки и инструментов захвата экрана, не позволяйте им загружать ваши пароли в облако.

32. Если вы веб-мастер, не храните пароли пользователей, контрольные вопросы и ответы в виде простого текста в базе данных, вместо этого вам следует хранить соленые (SHA1, SHA256 или SHA512) хеш-значения этих строк. Рекомендуется создавать уникальную случайную строку соли для каждого пользователя.Кроме того, рекомендуется регистрировать информацию об устройстве пользователя (например, версию ОС, разрешение экрана и т. Д.) И сохранять их соленые хеш-значения, а затем, когда он / она пытается войти в систему с правильным паролем, но его / ее устройство информация НЕ совпадает с предыдущей сохраненной, позвольте этому пользователю подтвердить свою личность, введя другой проверочный код, отправленный по SMS или электронной почте.

33. Если вы разработчик программного обеспечения, вам следует опубликовать пакет обновления, подписанный закрытым ключом с помощью GnuPG, и проверить его подпись с помощью опубликованного ранее открытого ключа.

34. Для обеспечения безопасности вашего онлайн-бизнеса вам следует зарегистрировать собственное доменное имя и настроить учетную запись электронной почты с этим доменным именем, тогда вы не потеряете свою учетную запись электронной почты и все свои контакты, поскольку вы можете разместить свой почтовый сервер в любом месте, ваша учетная запись электронной почты не может быть отключена поставщиком электронной почты.

35. Если интернет-магазин позволяет производить оплату только с помощью кредитных карт, тогда вам следует использовать виртуальную кредитную карту.

36.Закройте веб-браузер, когда вы покидаете свой компьютер, в противном случае файлы cookie могут быть легко перехвачены с помощью небольшого USB-устройства, что позволяет обойти двухэтапную проверку и войти в свою учетную запись с помощью украденных файлов cookie на других компьютерах.

37. Не доверяйте и удаляйте плохие сертификаты SSL из своего веб-браузера, в противном случае вы НЕ сможете гарантировать конфиденциальность и целостность соединений HTTPS, которые используют эти сертификаты.

38.Зашифруйте весь системный раздел, в противном случае отключите функции файла подкачки и гибернации, поскольку важные документы можно найти в файлах pagefile.sys и hiberfil.sys.

39. Чтобы предотвратить атаки методом грубой силы при входе на ваши выделенные серверы, VPS-серверы или облачные серверы, вы можете установить программное обеспечение для обнаружения и предотвращения вторжений, такое как LFD (Login Failure Daemon) или Fail2Ban.

40. Если возможно, используйте облачное программное обеспечение вместо установки программного обеспечения на локальном устройстве, поскольку все больше и больше атак на цепочку поставок устанавливают вредоносное приложение или обновление на ваше устройство, чтобы украсть ваши пароли и получить доступ к совершенно секретным данным.

41. Рекомендуется генерировать контрольные суммы MD5 или SHA1 для всех файлов на вашем компьютере (с помощью программного обеспечения, такого как MD5Summer) и сохранять результат, а затем проверять целостность ваших файлов (и находить троянские файлы или программы с внедренным бэкдором) каждый день, сравнивая их контрольные суммы с результатом, сохраненным ранее.

42. Каждая крупная компания должна внедрить и применять систему обнаружения вторжений на основе искусственного интеллекта (включая средства обнаружения аномалий поведения сети).

43. Разрешить только IP-адреса из белого списка для подключения или входа на важные серверы и компьютеры.

Добавить комментарий

Ваш адрес email не будет опубликован.