powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Public Key
12 сообщений из 12, страница 1 из 1
Public Key
    #32744291
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ помогите, надо прочитать в одной программе информацию о PublicKey другой сборки (Нужно что-то уникальное, поэтому используется StrongName), нужно получить строку, которая будет уникальна для разных сборок.
...
Рейтинг: 0 / 0
Public Key
    #32745458
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
загружаешь AssemblyName по AssemblyName.GetAssemblyName(..) и

GetPublicKeyToken() - токен публичного ключа (8 байт) по SHA-1
GetPublicKey() - весь публичный ключ (160 байт)
...
Рейтинг: 0 / 0
Public Key
    #32745515
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кузязагружаешь AssemblyName по AssemblyName.GetAssemblyName(..) и

А как загрузить AssemblyName??? Я знаю путь к файлу (*.dll, *.exe), нельзяли примерчик.

Заранее спасибо.
...
Рейтинг: 0 / 0
Public Key
    #32745516
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извини, что C# (на VB будет очень похоже)
Код: plaintext
1.
2.
3.
AssemblyName an=AssemblyName.GetAssemblyName(@"C:\Program Files\Temp\PMSNetWindows.exe");

byte[] pkt=an.GetPublicKeyToken();
byte[] pk =an.GetPublicKey();
...
Рейтинг: 0 / 0
Public Key
    #32745521
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем то, что мне нужно, мне нужно получить не Byte, а String, то что записано в mainfest-е, что-то типа:

авторPublic key is
0702000000240000525341320004000001000100834b28783aa71a3b1f6188a895c51051989aca
bf8a340953dca9d3e1ff6e84573ad49cfc3f4949cf6deb0e1cc6c907e5fad12f245eaef3a1d026
1ea78e8ea15095d256f700031d063316a428d05182874924a31123b8f536264c4924b3f17c6471
44ed9a13c149fd5bdb90c1cfaa175f098c38a5d9beb7af662578b76c8d69d7c309a0de521db83a
cd547a432ddc8c8d3ab0140352761e7321f39cdb43e79e5fff2337bf5041dcfb5d0aeca4db7241
b00346bbd161603fa5759c5c84d00a0df441db6453c5fce7878b7a911135345d687fa6361b4bac
a491d879223ad1804bfca7908cee00eeb9c190c3d631368be9a3b90e35cd01c160485fea3e2805
8df5e101697c6e65ad1ca575e2a183a93a57644f8df5d3671f6ac2726a2c8ee5079e704714dabe
ebbb36d49b4f59debdb9eb82de515fed1c285efdf84f1fc6794753bbc17b46c58eb7c7ff9436ca
3d9ccb00bfe93bff46b80b589a7e39012e96fd71f8e60e2ca94e8918e9ee53887e75991c1bdfc0
171ad759c39b9f11e96ce17c1e722a13c26967ae9caefb8f913a3f8fabb18f3585b2396de5dc76
3594f027e3915d7ee8a0779226c22dfc59261b2d54b1195def8a76be314748698146841cb76c3b
0193b3aeede8ae48bdb4d6abab0d64d87ae1723f043fa90411c637189e54e323cfcc536b7d3aa4
9344858efe293b29255e4961b2b633e711f74e9af2f2b1189c2857e8b311d569e263bc6a58ef3c
ac91c6a0c914d2adcfdbf0bf8d5fe2b1526ba1411fcd72b3619f084ae2348e4d0ec3fc224a6185
213d6c92d36e5b4e01c844

Public key token is 60582cc2df93bf17

Из этого мне нужно получить Public Key.
...
Рейтинг: 0 / 0
Public Key
    #32745523
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
преобразуй массив байт в строку :)
(в 16-м исполнении).
...
Рейтинг: 0 / 0
Public Key
    #32745524
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кузяпреобразуй массив байт в строку :)
(в 16-м исполнении).

Еслиб знал как, давнобы сделал, так что если не напрягает не подскажете.
...
Рейтинг: 0 / 0
Public Key
    #32745525
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и где в манифесте ключ хранится в виде строки ???
...
Рейтинг: 0 / 0
Public Key
    #32745527
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кузяи где в манифесте ключ хранится в виде строки ???

Немного ошибся это не в манифесте, это можно посмотреть при помощи sn -tp, но надо получить именно в таком виде.
...
Рейтинг: 0 / 0
Public Key
    #32745530
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно, так:
Код: plaintext
1.
2.
3.
4.
5.
Dim i As Int32
Dim sb As String = String.Empty

For i =  0  To pkt.Length -  1 
  sb = sb + String.Format("{0:X2}", pkt(i))
Next
...
Рейтинг: 0 / 0
Public Key
    #32745531
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там, блин, нужно еще и пробелы вставлять и маленькими буковками :)
Код: plaintext
1.
2.
3.
For i =  0  To pkt.Length -  1 
  sb = sb + String.Format("{0:x2} ", pkt(i))
Next
sb = sb.Trim()
...
Рейтинг: 0 / 0
Public Key
    #32746395
GreatValen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кузяпримерно, так:
Код: plaintext
1.
2.
3.
4.
5.
Dim i As Int32
Dim sb As String = String.Empty

For i =  0  To pkt.Length -  1 
  sb = sb + String.Format("{0:X2}", pkt(i))
Next


Спасибо, но я уже разобрался, может немножко не так, но кажется работает:

автор
Dim PubKeyItemsCount As Integer
Dim PubKeyTokenItemsCount As Integer
PubKeyTokenItemsCount = infPublicKeyToken.LongLength

Dim i As Integer

Dim tmpValue As String = ""

For i = 0 To PubKeyTokenItemsCount - 1
tmpValue = tmpValue & Hex(infPublicKeyToken.GetValue(i)).ToLowerInvariant
Next i

PublicKeyToken = tmpValue
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Public Key
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]